ich will etwas in meine Datenbank einfügen und habe ein problem das es nicht geht! Ich benutze ADO und ein Recordset mit den normalen Methoden wie beim normalen Datagrid funtzt es nicht! ! Ich hoffe mir kann jemand helfen
Private Sub Form_load()
Dim strPath As String
Set Connect = New ADODB.Connection
Set rec = New ADODB.Recordset
'Form mit hiflfe von prozedur im Basismodul zentrieren
CenterForm Me
'Verzeichnisvariable
strPath = App.Path
If Right$(strPath, 1) <> "\" Then strPath = strPath & "\"
'Connectingstring
With Connect
.Provider = "Microsoft Jet 4.0 OLE DB Provider"
.ConnectionString = "Data Source=" & strPath & "Vermietung.mdb"
.Open
End With
'Recordsetoptionen
rec.Open "SELECT * FROM Kundendb", Connect, adUseClient
'Spatlenbreiten festlegen/Namen + Recordsetzuweisung
With Grid1
'Spaltenbreiten festlegen
.ColumnAdd , , 450
.ColumnAdd , , 1700
.ColumnAdd , , 1100
.ColumnAdd , , 1100
.ColumnAdd , , 1500
.ColumnAdd , , 2000
.ColumnAdd , , 1200
.ColumnAdd , , 1100
.ColumnAdd , , 1200
.ColumnAdd , , 1500
.ColumnAdd , , 1300
.ColumnAdd , , 900
.ColumnAdd , , 800
.ColumnAdd , , 1100
.ColumnAdd , , 2000
'Spaltennamen zuweisung
.Columns(1).Caption = "Knr"
.Columns(2).Caption = "Name"
.Columns(3).Caption = "Vorname"
.Columns(4).Caption = "Geburtsdatum"
.Columns(5).Caption = "Ort"
.Columns(6).Caption = "Straße"
.Columns(7).Caption = "Telefon"
.Columns(8).Caption = "Ausweis-nr"
.Columns(9).Caption = "Zusatz"
.Columns(10).Caption = "Führerschein-nr."
.Columns(11).Caption = "AustellungsOrt"
.Columns(12).Caption = "<--Datum"
.Columns(13).Caption = "Vermittler"
.Columns(14).Caption = "Sperrvermerk"
.Columns(15).Caption = "SperrMemo"
'Spatkle nicht editierbar
.Columns(1).LockEdit = True
'Recordset-
Set .Recordset = rec
.Refresh
End With
End Sub
Private Sub cmd_add_Click()
Knummer
With Grid1
'Start in der name Spalte
.AddNew "Tname"
.CellNew(1) = Knr
End With
End Sub
'Vor dem Hinzufügen von neuen Datensätzen
Private Sub Grid1_BeforeAddNew(bCancel As Integer)
Dim nResult As Integer
nResult = MsgBox("Änderung übernehmen?", vbYesNoCancel)
Select Case nResult
Case vbYes
bCancel = 0
Case vbNo
bCancel = 1
Case Else
bCancel = 2
End Select
End Sub
Private Sub Grid1_BeforeUpdate(ByVal nRow As Long, ByVal nCol As Long, sText As _
String, iCancel As Integer)
Dim nResult As Integer
With Grid1
If .IsEditMode() = MODE_ADDNEW Then
' Navigation innerhalb der Zellen beim Hinzufügen
' einer neuen Datenzeile
If nCol = 1 Then
sText = Format$(Val(sText), "00000")
If Val(sText) = 0 Then
MsgBox "Bitte zunächst eine Kundennummer eingeben!"
iCancel = True
End If
End If
Else
nResult = MsgBox("Änderung '" & sText & "' übernehmen?", vbYesNoCancel)
Select Case nResult
Case vbYes
iCancel = 0
Case vbNo
iCancel = 1
Case Else
iCancel = 2
End Select
End If
End With
End Sub
Private Sub Grid1_EditKeyPress(KeyAscii As Integer)
With Grid1
If .IsEditMode = MODE_EDIT Then
' ENTER?
If KeyAscii = 13 Then
KeyAscii = 0
SendKeys "{TAB}"
End If
End If
End With
End Sub |