einzelne zeilen in access auslesen

gufi

Mitglied
hallo!

hab ein problem und zwar...

hab ich ein formular verbunden mit einer datenbank via ADODB bzw. SQL

jetzt wollt ich fragen wie ich das machen kann das wenn ich per combobox z.b. ein datum auswähle was in der tabelle drinnnen ist das er alles was in der zeile von dem datum steht in einzelne textboxen automatisch übertragen wird ohne das ich das mach?

ich kopier euch mal den code rein!

---------------------------------------------------------------------------------------------------------------------------------
Dim DB As ADODB.Connection
Dim rs As ADODB.Recordset
Dim SQLCOMBO As String

Public Sub Rechdatum1()

Set DB = New ADODB.Connection
Set rs = New Recordset

DB.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Lieferanten_Mitarbeiter_Aktuell.mdb;Persist Security Info=False"
DB.Open

SQLCOMBO = "SELECT [Rechnungsdaten].[Rechnungsdatum], [Rechnungsdaten].[name], [Rechnungsdaten].[vorname], [Rechnungsdaten].[RechdatenID] FROM Rechnungsdaten" & frmMahnungseingabe.cmbRechdat

rs.Open SQLCOMBO, DB, adOpenDynamic, adLockOptimistic

rs.MoveFirst

Do
With frmMahnungseingabe
.cmbRechdat.AddItem rs!Rechnungsdatum
End With
Loop While Not rs.EOF


rs.Close
Set rs = Nothing


End Sub
------------------------------------------------------------------------------------------------------------

ach ja noch was bei dem


Do
With frmMahnungseingabe
.cmbRechdat.AddItem rs!Rechnungsdatum
End With
Loop While Not rs.EOF


kack mir das programm immer ab wenn ich das formular öffnen will

bzw. bei dem:

Do until rs.eof
With frmMahnungseingabe
.cmbRechdat.AddItem rs!Rechnungsdatum
End With
Loop

ohne do loop schleife gehts! nur füllt er nicht alles von der tabelle in die combobox

danke im vorraus:)
 
Da du kein gebundenes Datacontrol verwendest musst du das alles selber schreiben:

im Click ereignis der ComboBox ein Recordset auf machen welches dem gewälten text entspricht.
dann musst du jeder deiner Textboxen das entsprechende Feld zuweisen

zum wegschmieren:
du hast eine endlosschleife geschrieben bau ein rs.movenext ein und nix mehr schmieren weg

2. wenn du in deinem recordset keine Datensätze hättest würde es einen fehler geben daher:
bau die schleife mal in eine kopfgesteuerte um

Bsp :

while not res.eof
cmbRechdat.AddItem rs!Rechnungsdatum
res.movenext
wend


Dann gibt es auch keinen Fehler bei leerer Datenbank


Gruß bb
 
Zurück