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 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
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
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
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
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
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
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
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
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
sorry, the code highlighted is
ds.Tables.Add(dtCountry)
Bob
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
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
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
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 This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics |
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...
|
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...
|
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...
|
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,...
|
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...
| |
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...
|
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...
|
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...
|
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...
|
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,...
|
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...
| |
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,...
|
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...
|
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,...
|
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...
|
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...
|
by: adsilva |
last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
| |
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 ...
| |