Hallo zusammen,
Randbedingungen:
Programmiersprache : VB6
Datenbank: Oracle 9i
Datenzugriff ADO über Ole DB Provider von Oracle
Ich schreibe gerade ein Programm zur Zeiterfassung und möchte nun die Möglichkeit schaffen, die gebuchten Zeiten zu korrigieren. Dazu erstelle ich eine Abfrage die ich in ein sevdatagrid lade.
Jedoch kann ich die Felder nicht editieren ich erhalte dann die Fehlermeldung:
-2147217887 Fehler der aus mehreren Schritten besteht. Beim Aufdröseln der ADO Fehler erhalte ich die Fehlermeldung 0 , also auch keine Hilfe.
Hier der Code mit dem ich das Recordset erstelle und das laden ins Grid.
Hat jemand eine Idee, wie ich die Daten editieren kann. AddNew geht übrigens auch nicht.
SQL = " select man_id, dbuser, man_name1, to_char(his_start,'dd.mm.yyyy') as Datum , to_char(his_start,'hh24:mi:ss') as his_start2, to_char(his_end,'hh24:mi:ss') as his_end2, " & _
" memo,log_id as log from im$_project_time where dbuser = " & Chr(39) & Uebergabe(0) & Chr(39) & _
" and trunc(his_start) " & Uebergabe(1) & _
" order by his_start"
DBuser = Uebergabe(0)
Set Zeiten = New ADODB.Recordset
With Zeiten
.ActiveConnection = myk
.CursorLocation = adUseClient
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.Source = SQL
.Open
Set .ActiveConnection = Nothing
End With
With gridKorrektur
.ColumnAdd "man_id", "ID", 10, ALIGNMENT_RIGHT, False
.ColumnAdd "dbuser", "User", 10, ALIGNMENT_RIGHT, False
.ColumnAdd "man_name1", "PROJEKT", 1500, ALIGNMENT_LEFT, True, TYPE_COMBOBOX
.ColumnAdd "his_start", "Datum", 1500, ALIGNMENT_RIGHT, True, TYPE_TEXT, ALIGNMENT_CENTER, , SORT_DATETIME
.ColumnAdd "his_start2", "BEGINN", 1500, ALIGNMENT_RIGHT, True, TYPE_TEXT, ALIGNMENT_CENTER, , SORT_DATETIME
.ColumnAdd "his_end2", "ENDE", 1500, ALIGNMENT_RIGHT, True, TYPE_TEXT, ALIGNMENT_CENTER, , SORT_DATETIME
.ColumnAdd "memo", "BEMERKUNG", 2500, ALIGNMENT_LEFT, True
.ColumnAdd "log_id", "ID", 700, ALIGNMENT_RIGHT, False
Set .Recordset = Zeiten
.CreateClone = True
.Caption = Uebergabe(3) & "," & Uebergabe(4)
.Refresh
End With
Zeiten.Close

____________________________
Der Fehler dessen Name nicht genannt werden darf |