First off all sorry for my english…
I'm experienced user of MS Access. I'm trying to use VB.Net instead of MS Access to build some database front-ends. I must show to a user a database which consists of our contracts.
The problem is that each record consist of many fields (>20) and I must show all of them.
Using datagrid is not very good idea because each row will be very long.
The problem doesn’t exist when I use MS Access because I can build form in which each record can consist of more than 1 row of controls (e.g. textboxes). I don’t need to worry about scrolling such form. Using VB.Net which I don’t know very well (ADO.Net) I’m sure that there are many possibilities to overcome such problems. Please give me some advices…I don’t want to make mistakes during learning VB.Net.
I thought about using DataSet structure (Views) and when moving among records raise an event to fill some sets of controls on my Windows Form (each set per 1 record). Moving will be enabled by using a VScrollBar. I think there is no point in databinding controls on this form cause I will need 2 separete dataview (3 or more if want to show 3 or more records at the sime time). I’d like to implement filter by field functionality like in MS Access Forms. When user click one field (e.g. country) and press some buttons the form will show only records filtered by this field…
Pleas help me…

MS Access Forms functionality in VB.Net ??
Mindy Zhang
Each row (per 1 record) will consist of 2 lines of textboxes.
I tried use Me.BindingContext to get (via current property) access to current row.
Than i fill each textbox which belongs to 1 record (I keep it on panel control, one panel for 1 record that's 2 panels on form).
Next I increase position+1 and get current row and fill textboxes in 2(!!) panel. Actually before feeling I check weather I reach end of data comparing previous BindingContext position with the increased one. If it matches I hide second panel.
It works but I'm interested if there is better method to show 2 or more records when each of them consists of more than 1 line of data (e.g. 2 lines of textboxes)
I know my english is rather poor, but I hope you will catch now what I'm talking about....
Mirek
Alex Occulate
What I would suggest is first laying out all your fields on a form (in VB.NET) to the way you want one record to show up. If you have too many fields to fit on your form, you can set the AutoScroll Property of your Form to True and it will automatically setup the scrollbars for the user to move around with. Then to actually "scroll" through the records, you can either set up some buttons (like first, last, next previous, etc) or you could use a scrollbar as you mentioned, but for simplicity's sake (since you're just starting), I'd go with using buttons.
Then, it's just a matter of setting up the databinding to display each field correctly. I'm not sure what you were talking about, when you said you didn't want to use databinding, because of using multiple DataViews, etc...you really shouldn't have to. DataBinding is perfect for what you're trying to do. Now if you'd like to setup filter as you talked about, then you'd probably want to have a DataView on top of your DataTable in your DataSet, but that's just one line of code and not too much overhead, so I think it would actually be a good idea...and you'd only need one.
When it comes to actually writing code, this should actually be pretty minimal. Inside your form you can use the Me.BindingContext Property to access an instance of the BindingManagerBase Class for the current data you're working with. This class will give you access to things like Position, which will tell you the index of the current record you're looking at, Current, which will return the current row you're working with and a bunch of other Methods and Events to help you with DataBinding.
I realize I haven't really provided you with any code, but all of this should help push you in the right direction. If you have any other questions along the way, feel free to post them and we'll see if we can help you out! :)