473,499 Members | 1,589 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Navigate related records

Bob
Hello:

I'm building a simple windows database application that has two tables with
One to One relationships on MS Access tables.

I know what your thinking. Why not just use one table? because MS Access
has a field count limitation of 255 and my table would have 327 fields so I
have no choice.

I'm using two Data adapters that generate a single DS with a relationship
build on the ClientID fields.

I dont' wish to use a datagride because the customer doesn't want it.

I can't figure out how to make my app populate the fields in my form with
the child data when the dataset loads and moves to the next record.

Below is what I have and it works ok:

Me.BindingContext(objdsClients, "ClientsMain").Position =
(Me.BindingContext(objdsClients, "ClientsMain").Position +
1)Me.BindingContext(objdsClients, "ClientsPage01").Position =
(Me.BindingContext(objdsClients, "ClientsPage01").Position + 1)
But as you know, it can quickly cause problems later if the child table
doesn't have a child record added for some reason like a power failur or
something else.

I built the relationship in Query Designer

Any help would be appriciated

TIA

Bob
Nov 21 '05 #1
15 1450
Bob,

Why do you make it yourself difficult, why don't you use just two datatables
in one dataset. They only need to have the same key.

It would have been a problem if you was using a datagrid, however you don't
have that problem.

By the way, I am curious how do you get 327 textboxes on one form?

I hope this helps,

Cor
Nov 21 '05 #2
LOL

--
Terry Burns
http://TrainingOn.net
"Cor Ligthert" <no************@planet.nl> wrote in message
news:%2****************@tk2msftngp13.phx.gbl...
Bob,

Why do you make it yourself difficult, why don't you use just two
datatables in one dataset. They only need to have the same key.

It would have been a problem if you was using a datagrid, however you
don't have that problem.

By the way, I am curious how do you get 327 textboxes on one form?

I hope this helps,

Cor

Nov 21 '05 #3
Bob
Cor:

Yeah thats why I don't understand why it doesn't work. I am using just one
dataset.

Maybe I only need one oleDBDataAdapter also and join the tables there?
Anyway, I tried that but all I got was constraint probs.

The examples I see use two oleDBDataAdapters and generate one DS.

I found an example that uses a Combo Box and I'm not. I might be making
headway with the code. Not sure yet.
Thanks

Bob
Nov 21 '05 #4
Bob,

Why do you not, show us some snippets of your code, (Not the designer part
pleast that we know very much). And than first copied, pasted, copied pasted
with a notebook to get it readable.

Cor
Nov 21 '05 #5
Bob
Private Sub btnNavNext_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnNavNext.Click
Me.BindingContext(objdsClients, "ClientsMain").Position =
(Me.BindingContext(objdsClients, "ClientsMain").Position + 1)
'Me.BindingContext(objdsClients, "ClientsPage01").Position =
(Me.BindingContext(objdsClients, "ClientsPage01").Position + 1)
'Me.txtSBLNum.DataBindings.Add(New
System.Windows.Forms.Binding("Text", objdsClients,
"ClientsMain.PK_ClientID.ClientID"))
Dim SelectClientID As String
SelectClientID = editClientID.Text.ToString()
Dim drSelectedClient As DataRow
drSelectedClient =
objdsClients.ClientsMain.FindByClientID(SelectClie ntID)
' Declare an array of data rows to hold the related records.
Dim draPage01 As DataRow()
draPage01 = drSelectedClient.GetChildRows("ClientsPage01")
' Display the length of the array (number of orders)
' and the CustomerID in the form caption.
'Me.Text = draPage01.Length.ToString() & " Client Pages " &
SelectClientID

Dim drPage1 As DataRow
For Each drPage1 In draPage01
'lbOrders.Items.Add(drOrder("OrderID"))
Next

Me.objdsClients_PositionChanged()

End Sub
Nov 21 '05 #6
Bob
Cor:

Yeah I'm curious how I'm going to get 327 fields on a form too. I don't
have anything briliant but I think I'm going to put as many as I can into
groupboxes and use the visible property in my code to show and hide the
fields consecutively as the user enters data.

Bob
Nov 21 '05 #7
Bob,

Can you try this sample that I made for you, it uses only two textboxes and
a button, however the problem with the two datatables and the solution
should be the same.

\\\Needs only two textboxes and a button on a form and pasting this code in
Dim ds As DataSet
Private Sub Form1_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
ds = CreateDs()
Me.TextBox1.DataBindings.Add("Text", ds.Tables(0), "Country")
Me.TextBox2.DataBindings.Add("Text", ds.Tables(1), "State")
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
Dim cma1 As CurrencyManager _
= DirectCast(BindingContext(ds.Tables(0)), CurrencyManager)
Dim cma2 As CurrencyManager _
= DirectCast(BindingContext(ds.Tables(1)), CurrencyManager)
If cma1.Position < ds.Tables(0).Rows.Count - 1 Then
cma1.Position += 1
Else
cma1.Position = 0
End If
cma2.Position = cma1.Position
End Sub
Private Function CreateDs() As DataSet
Dim ds As New DataSet
Dim dtName As New DataTable("Persons")
Dim dtCountry As New DataTable("Countries")
dtCountry.Columns.Add("Country")
ds.Tables.Add(dtCountry)
dtCountry.LoadDataRow(New Object() {"EU"}, True)
dtCountry.LoadDataRow(New Object() {"EU"}, True)
dtCountry.LoadDataRow(New Object() {"US"}, True)
dtCountry.LoadDataRow(New Object() {"US"}, True)
Dim dtStates As New DataTable("States")
dtStates.Columns.Add("State")
ds.Tables.Add(dtStates)
dtStates.LoadDataRow(New Object() {"Austria"}, True)
dtStates.LoadDataRow(New Object() {"Holland"}, True)
dtStates.LoadDataRow(New Object() {"Florida"}, True)
dtStates.LoadDataRow(New Object() {"New York"}, True)
Return ds
End Function
///

I hope this helps,

Cor
Nov 21 '05 #8
Bob
I don't think it will work because ds doesn't get declared in the button
click and the form load events but I'll try it around 9:30 am EDT
Nov 21 '05 #9
Bob
ooppss my bad. I see it
Nov 21 '05 #10
Bob
Cor:

ok, I tried it and got the same runtime error

An unhandled exception of type 'System.NullReferenceException' occurred in
WindowsApplication1.exe

Additional information: Object reference not set to an instance of an
object.

Same as I get in my project

Thanks again

Bob
Nov 21 '05 #11
Bob
sorry, the code highlighted is

ds.Tables.Add(dtCountry)

Bob
Nov 21 '05 #12
Bob,

I tried this sample when I send it, and now again, I had/have not any error.

Can you paste it back to show what you made from it?

Cor
Nov 21 '05 #13
Bob
Cor:

Once again, I appologize for the confusion.

these early mornings without that first cup of coffe.

Me in my infinite wisdome, I forgot to past it into notepad first.

Thanks for all the help and sorry for all the false alarms.

I'll try to implement this into my project

Thanks again

Bob
Nov 21 '05 #14
Bob
Cor:

I appriciate the help you have given me but now that I look at it, I already
had a form of that. Thats based on row position.

That won't help me because thats not 100%. A simple power failure can throw
that off too easily. If data gets entered into the parent table and for some
reason the users stop entering data into the child tables, power failure,
system hang etc ...

See where I'm going?

I need something based on real relational concepts. I spent money on VS
becaused it advertised that but I'm thinking I'm better off with what I know
(VS6).

Any other suggestions?

Thanks again

Bob
Nov 21 '05 #15
Bob,
That won't help me because thats not 100%. A simple power failure can
throw that off too easily. If data gets entered into the parent table and
for some reason the users stop entering data into the child tables, power
failure, system hang etc ...

No, because that is in any concept the same.

AFAIK, can you not update easily a joined table, that you have to do table
by table using AdoNet.

Cor
Nov 21 '05 #16

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

17
1834
by: Steve Jorgensen | last post by:
Terminology question: Is there a term for a set of records related directly or indirectly by key value in several tables? For example, a single invoice record and its line item records -or- a...
3
11083
by: Jason | last post by:
I am trying to filter records in a primary form based on records in related tables. The data in the related tables is being displayed in the primary form through subforms. To be more specific, I...
0
1526
by: Oberon | last post by:
How do I navigate through records using drag 'n' drop controls? I have an example in C# for Windows forms that relies on BindingContext but this is not available for ASP.NET. How do I solve that...
1
1721
by: AA Arens | last post by:
I have a form with navigation button and they brows through the records. How to change the order or the way these records are navigated? Like before based on ID, now I want based on another field,...
2
4736
by: =?Utf-8?B?QmVybmFyZCBLaW0=?= | last post by:
I have VC# 2005. I need to use ADODB instead with ADO.NET. I can open a recordset. however, I can not navigate records in recordset. How can I navigate records? What is the command line for...
11
3223
misscrf
by: misscrf | last post by:
I have received data which contains similar records, where the customers have similar records. A customer, i.e. Jane Doe may have moved, or something, or a change to her account. When that happened...
1
1973
by: Lumpy | last post by:
Hi all, I have have been lucky to get some good advice in regards to some access questions I have had so far. The good news is I am almost done with this project but I seem to have hit another...
1
2128
by: BASSPU03 | last post by:
I've set my combobox to operate according to this option: "Find a record on my form based on a value I selected from my combobox." When I select a value from the combobox, I can see that the...
0
1629
by: cannonpm | last post by:
Greetings and salutations. I have developed an A2K3 MDB and have a search form modeled after Allen Browne's search form (http:// allenbrowne.com/ser-62.html). It works well except for records which...
0
7132
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
7009
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
7178
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
7223
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
5475
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
4602
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...
0
3103
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The...
0
3094
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
0
1427
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated ...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.