konto usunięte
Temat: Access + VB
Witam, piszę aplikację wykorzystującą bazę danych Accessa. Niestety zatrzymałem się na pewnej rzeczy, której nie mogę obejść. Nie znam się na Accesie, ani SQL, dlatego mam pytanie.W bazie mam 3 tabele:
Ustalenia (pola: ID, Numer_zamowienia, Grafik, Manager),
Grafik (pola: ID, Nazwisko),
Manager (pola: ID, Nazwisko).
Relacje są ustawione między Ustalenia[Grafik] -> Grafik[ID] oraz Ustalenia[Manager] -> Manager[ID].
Jedna z procedur wygląda tak:
Private Sub cbbPt_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbbPt.SelectedIndexChanged
Dim NumerPt As String = cbbPt.Items(cbbPt.SelectedIndex)
Dim NumerDtp As New OleDbCommand("SELECT grafik FROM ustalenia WHERE PT = '" & NumerPt & "'", PolaczenieDtp)
Dim OsobaDtp As New OleDbCommand("SELECT nazwisko FROM graficy WHERE ID = '" & NumerDtp.ExecuteScalar().ToString & "'", PolaczenieDtp)
If PolaczenieDtp.State = ConnectionState.Open Then
tbxDtp.Text = CStr(OsobaDtp.ExecuteScalar)
ElseIf PolaczenieDtp.State = ConnectionState.Closed Then
tbxDtp.Text = "Brak połączenia z bazą."
End If
End Sub
Pisałem to na zasadzie odpatrywania od działającego gotowca, więc jeśli ktoś widzi błąd proszę o opinię. :)
Moje pytanie, a raczej problem jest następujący... Zmienna NumerDtp bez problemu wyświetla numer ID grafika, teoretycznie (tak mi się wydaje) w zmiennej OsobaDtp powinno być przechowywane nazwisko o danym ID. Niestety podczas wykonywania program się wysypuje. To mój pierwszy program, który piszę z wykorzystaniem bazy, więc nie mam pojęcia czy źle ułożyłem zapytanie SQL, czy mam jakiś błąd w aplikacji.
Proszę o pomoc.
PS Mam nadzieję, że nie zagmatwałem za dużo. :)