connecting new column to visual studio through accdb - vb.net

I have created a winform app connected to an access database as datasource ,
but now i have added a column in access database & now i have to provide the same field in winform for data entry purpose.
But now in my data source the new field is not visible even after refreshing .
any help in solving this.

The simplest way to do this is to open the dataset, right click on the relevant table adapter (MSdiesTableAdapter), choose Configure and then go through the wizard, adding the new column to the SELECT sql. When you finish the wizard the new column will appear in the datatable.
It won't have appeared in any databound grid etc - you'll also have to go to those grids and do an "Edit Columns" and "Add a New Column", choose "DataBound Column" and pick the new column. You can also, as a quick trick, remove the "DataMember" setting from the bindingsource the grid is bound to, then put it back
Microsoft never intended for DataSets and databases to be perfectly aligned; the dataset is your client side store of info and it may have more or fewer columns than the database, and have stuff it calculates itself locally, or relationships that are different to the database. This is why it needs manually adding and working through

Related

How to redesign the Table in Report wizard in C#

I created one rdlc file using report wizard in C#. Initially i chose some columns to display in the report.Later i want to include extra columns in the report which is already available in Table. Just i need to reopen the rdlc in report wizard and i want to change the table as Matrix instead of Stepped and add more columns,need to change group item.
Im using visual studio 2008, in that i cannot see some fields in that.Tool controls are get overlapping
How can i change some properties here or otherwise i have to delete the present rdlc file and start to Design the new report?
There are two ways you can do it.
if you created DataSet in the same project and used it as a base for your wizard, then you can make changes in that DataSet, open your report, open ReportData (under View, if you are using VS2013), open DataSets, right-click on DataSet in question and select Refresh option. This should bring new fields in DataSet definition of the report.
You can add new fields directly in XML definition of the report. To do it, right click on your report in Solution Explore and open it with XML editor. Here is the same question answered: Update datasouce in RDLC report

How to refresh a dataset to reflect external changes to the database?

In a WinForms application that uses a dataset from a data source created using the Data Source Configuration Wizard and connected to an Access database. How can I refresh the dataset at run time to reflect changes (data changes only, no structural changes) to the database occurred outside without closing and reopening my application?
Thank you ahead of time for your help.
Call the .fill command on the tableadapter that the wizard should have created.
By default the code is placed in the load event of the form that you added the tableadapter and dataset to, so either copy paste or creat a new sub and call that.
Edit:
There is a clearBeforeFill property of any tableadapter listed under the TableadapterManager in the Form designer if you added it via the designer, if not then you'll have to set it in your code behind.
in the code behind there are several events that can occur on your binding source, I would suggest putting the needed code on the currentItemChanged event in order to commit changes in real time.

Filtering DataGridView using Comboboxes

Let me preface this by saying I am a beginner as far as .net knowledge.
I am developing a windows form application using tabs in VS2012 in vb. I have bound the datagrid through the designer to a sql server binding source which is populating the data. There are multiple columns in the table and these are split between two tabs with a datagrid on each tab. Both data grids have the same binding source just show different columns.
I created a view within the SQL server to pull in the column names. I think what I want to do and not sure if this is possible but have 2 combo boxes that will be used to filter. One of the would be bound to the view by a dataadapter and then the second to the datagrid binding source.
when the user selects the first combobox(columnname) it would then pull from the datagrid for that column and pull in the valid values to filter. It would then filter the datagridview and refresh it.
Then I am trying to remove the filters through the use of a button.
Can someone please help as I don't even know where to start
You can use Dataview in filtering datasources. You can refer to my answer at this question

Use databinding controls to add records to a dataset

I imagine this is a terribly Noobish question, and I hate to ask, but I've been trying to solve this problem all day,
I need to add rows to a DataSet using databound controls in VB.net.
I've set up the data bindings themselves, they're bound the the correct controls, and the BindingSource uses the correct DataSet. The DataSet is filled from the DataAdapter correctly, and the binding source works, as the navigation controls all work fine.
Here's the noob part: How do I use the controls to add new data to the DataSet?
I've been grappling with this all day. I've tried Google, this board, other boards, MSDN, everything I could think of, and nowhere did I find a simple tutorial on how to do it. Either I'm as thick as two short planks, or it's not as simple as I assumed it would be.
Could anyone help me with this please? It's driving me mad.
I guess there must be some kind of end-edit involved which would enable me to insert, update and delete records in the DataSet (as you would use with DataGridViews)
You can't add new data to the DataSet directly, you can add rows to the DataTables that reside in your DataSet.
You should have a button "Add item" or something like that, and in the event handler add the row to the data table. Ensure that the user can edit your edited row with your bound control and add a button "Save" which would do a TableAdapter.Update() on changed DataTable.
If you use a DataGridView, setting the property AllowUserToAddRows = true would add an empty, "dirty" row in which user can type data to add new records to the DataTable.
This two should get you started:
Walkthrough: Saving Data to a Database (Single Table)
Editing Data in Datasets

RDLC Report Data doesn't update to reflect changes

On my RDLC page, the "Report Data" window shows a custom dataset that it pulls fields from to display. I've modified this DataSet with some additional tables. However, these tables aren't shown and therefore I'm unable to select them for use in expressions (in the Expression window, under Datasets, there are only the tables that were originally there, not the additional tables I've added).
Refreshing the data source doesn't do anything, and if I right-click on it and select "New Dataset", I'm unable to select the parent data source (it doesn't appear in the drop down list). What I mean is, if the data source is called "MyDataSet", and under that are other DataSets, if I right-click and go to "Add Dataset", it brings up the dialog box but "MyDataSet" is not in the list of available Data sources, even though I'm specifically saying I want to add a datatable to that data source. The other, existing, datatables list it under the data source, but new ones do not.
How do I refresh the data source so I can access these new tables in my report?
This is an old question, but I was having this problem too and I'll mention my answer for future googlers.
In the Report Data Window (which automatically appears for me when I am editing a .rdlc file), I had to Refresh my Dataset (same name as the DataSetName in the Tablix in my .rdlc Report), and then that updated the XML of the .rdlc file. The new fields are then available to me.
I have the same problem with Visual Studio 2010 Premium. You must do this step:
Re-build the project that contain your Business Object
Restart Visual Studio
Refresh your DataSet (Report Data --> Right click on DataSet --> Refresh).
I managed to get this working (for SSRS in C# using a Dataset that points to a Stored Procedure) by:
hitting Shift+Alt+D (which opens the "Data Sources" window)
In Data Sources, select/click the table you want to update
At the top of the window there are icons (I'm using VS2012). The 2nd from the right is "Configure Data Source" - click it and it will open a new wizard window that will appear to be refreshing everything.
UN-check the column that is no longer applicable and/or check the new column (if the values aren't already checked/unchecked).
Go back to your "Report Data" window (Ctrl+Alt+D) and right-click on your Dataset and then click "Refresh".
All the columns should be updated at that point.
Have you tried rebuilding your project? I had to do this after changing any business object.
I had this issue for hours on VS-2008. Tried everything and at the end what worked was just to close and open it VS again.
I can confirm that just closing the solution and reopening it, with later refreshing the DataSet from Report Data window worked for me.
Seems like there is no need to restart VS.
I got the same issue in visual studio 2012. I solved it, here is the steps,
Press Ctrl + Q and type Report Data (If No Report Data window available)
Expand Data Source node to find the data set (I have used Data Set)
Right click on the Data set and select Refresh (Simply refresh the data source)
Delete the dataset and again add it with ur query or usp...
If you are using a database source the likely culprit is that you didn't create the query with select *. Without the * the query will always be static and new fields won't appear. HTH
For visual studio 2010
Open Your Data Set (.xsd file)
Right click on data set click on configure
Click on Next Next than finish
On your dataset click refresh than Changes willbe display.
Sounds like same issue is happening on VS2019. I could resolve the issue by only restarting Visual Studio, nothing else worked!
This is the only solution worked for me.
After updating the DataSource properly, open the .rdlc file in NotePad and add the newly added Field manually. Then it will be available to use in the report.
Had the same in VS2019 using an object datasource, right click and refresh on the dataset in the Report Data window had no effect until I changed the build configuration from x64 to Any CPU, then it worked as expected. Once it updated changed the build back and all was well - not at all flakey!
As ChanthJ said -
It is the only solution worked for me.
After updating the DataSource properly, open the .rdlc file in NotePad and add the newly added Field manually. Then it will be available to use in the report.
steps
Assuming you Data source is fed by stored procedures, the following worked for me (On Visual Studio 2017): -
Make the necessary changes in the source stored procedure in the Database(new Field Names etc.).
Double click the .XSD file from the Solution Explorer to open it
Delete the associated Data Table / Table Adapter.
Add the Table Adapter back into the .XSD file (the changes will be reflected)
Save and close the .XSD
Open the .rdlc report designer.
Press "ctrl+Alt+D" or Click View > Report Data.
Expand the Data Sources node.
Right Click the Data Source.
Select "Refresh".
Expand the Datasets node.
Right Click the Data Source.
Select "Refresh"
The changes will now reflect and be available for selection on the .rdlc
report designer