Ok, so here is the deal. I am writing a program that has several textboxes (Date/Time, Building, Address, Apartment, Visitor, etc.) , a button, a datagrid view, 4 databases (Residents, BuildingInfo, Prohibited, and ResidentProhibited). What is supposed to happen is this: The forms loads, txtAPT has the focus, data is entered, and then focus is shifted to txtVisitor. When txtAPT looses focus, txtBuilding, and txtAddress are all supposed to be filled in with information from the appropriate database.
Essentially, txtBuilding and txtAddress are supposed to blank to begin with. txtAPT looses focus, the BuildingInfo database gets queried and returnes results similar to this: Count, Building, Address, Apartment. The query works perfectly fine and returns one result, however, I cannot figure out how to get the information in the Building and Address fields to copy to their respective locations.
Now, the reason I do not want to use DataBindings on the textboxes is this: There is another textbox for the Resident, and when the query runs may produce more than one resident for the returned apartment. DataBindings (as far as I know) only allow me to use the first (or last in some circumstances) name on the list. Currently, there are datagrids on the form but they will be invisible in the end. So without further delay, here is the code (most of which was not written by myself...)
Private Sub txtAPT_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles APTtxt.LostFocus Dim sql As String Dim sql2 As String Dim systemDate As Date Dim x As Integer Dim str As String = "" systemDate = Now If txtAPT.Text.Length <> 0 And cmbVisitor.Focus Then sql = "Select * from BuildingInfo where Apartment = '" & txtAPT.Text & "';" Db1Ds.Clear() BuildingInfoda.Adapter.SelectCommand.CommandText = sql BuildingInfoda.Fill(Db1Ds.BuildingInfo) If Db1Ds.BuildingInfo.Count > 0 Then txtDate_Time.Text = systemDate.ToString txtBuilding.Text = Me.BuildingInfoda.Fill(BuildingInfoda.Components.Item("Building")) sql2 = "Select * from Resident where APT = '" & txtAPT.Text & "';" Db1Ds.Resident.Clear() Residendda.Adapter.SelectCommand.CommandText = sql2 Residendda.Fill(Db1Ds.Resident) If Db1Ds.Resident.Count = 0 Then MessageBox.Show("Our Records show this apartment is unoccupied." & ControlChars.CrLf & "Is there anyway you can contact the resident?", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning) txtAPT.Text = "" txtAPT.Focus() End If ElseIf Db1Ds.Resident.Count > 1 Then x = 0 Do Until x >= Db1Ds.Resident.Count 'str = x += 1 Loop txtResident.Text = Else 'txtResident.Text = End If End If End Sub
The problem I am having is occurring with this statement: txtBuilding.Text = Me.BuildingInfoda.Fill(BuildingInfoda.Components.Item("Building"))... Which is actually about the 100th or so rendition I have tried. Any help would be greatly appreciated.
This post has been edited by fichnick: 25 June 2009 - 12:21 AM