Hallo zusammen,
ich habe folgendes Problem:
wenn ich über mein erstelltes Formular einen neuen Datensatz hinzufügen möchte bekomme ich die Fehlermedlung "You can't go to the specified record". Ich habe bereits im "properties sheet" gecheckt ob ich additions, edits und deletions auf "yes" gesetzt habe.
Untenstehend mein code:
Option Compare Database
Dim adoCon As ADODB.Connection
Dim adoRec As ADODB.Recordset
Private Sub Form_Load()
iBlink = 0
Me.TimerInterval = 0
Set adoCon = New ADODB.Connection
Set adoRec = New ADODB.Recordset
Set adoCon = CurrentProject.Connection
adoRec.Open "SELECT * FROM [tblInvestmentManager]", adoCon, adOpenKeyset, adLockOptimistic
Set Form.Recordset = adoRec
Me.txtFirstName.ControlSource = "First Name"
Me.txtLastName.ControlSource = "Last Name"
Me.txtemail.ControlSource = "Email"
Me.RecordSelectors = False
Me.txtShowMeTheWay.TextAlign = 2
txtID.SetFocus
If adoRec.RecordCount > 0 Then ShowMeTheWay
End Sub
----------------------
Private Sub cmdAddNew_Click()
DoCmd.GoToRecord , , acNewRec
txtShowMeTheWay = adoRec.RecordCount + 1 & "/" & adoRec.RecordCount + 1
End Sub
Besten Dank für eure Hilfe!
Hallo,
warum bindest Du nicht einfach das Form an die Tabelle (und entspr. die Formularfelder an die Tabellenfelder) und läßt das Adodb-Getönse einfach weg?
Ansonsten: Möglicherweise ist der Recordset nicht aktualisierbar..
Weil ich dies Format gerne beibehalten möchte um es für eine reihe von formularen zu benutzen...
Wie meinst du das mit dem aktualisierbar?
Ich Finde den Fehler leider nicht..
Habs jetzt kurz selber getestet. Nicht nur anfügen, sondern auch aktualisieren und vermutlich auch andere Methoden funktionieren nur mit DAO Recordsets. Du kannst diesen Code ja beibehalten, nur eben mit einem DAO statt einem ADO Recordset. Aber wenn Du selber testest wird eh draufkommen.
Für alle die es noch interessiert. Der Curser muss auf Client gesetzt werden, dann geht es.