Datensatz nicht veränderbar (Select Befehl verknüpft 2 Tabellen)

12/08/2008 - 16:48 von Tobi | Report spam
Hallo,
ich habe bei meinem in vb6 geschriebenen Programm das Problem, dass die
Datensàtze, die ich über das Data1 Objekt mit einem SQL String aufrufe nicht
verànderbar sind. Also wenn ich in dem Textfeld, das über die eigenschaft
Datasource mit dem data1 Objekt verbunden ist, eine Änderung vornehme und
dann den Datensatz aktualisiere, wird diese Änderung nicht übernommen.
Woran es ungefàhr liegt habe ich schon herausgefunden, nicht jedoch wie ich
das Problem löse. Es liegt an dem SQL Select in dem Daten aus 2 Tabellen
abgerufen werden:
SQL1 = "Select Bewerber.* from Bewerber, Detail where ((Bewerber.ID =
Detail.IDNR) and (Termin > #2003-01-01# and Termin <= #" & TGDatum & "#) and
([BA-Folge] LIKE '" & txtFind & "') and (erledigt IS NULL)) ORDER BY
Bewerber.Name"
Set Data1.Recordset = Data1.Database.OpenRecordset(SQL1, dbOpenDynaset)

Ersetze ich den SQL String durch diesen:
SQL1 = "Select * from Bewerber Order by Name"
lassen sich die Daten in den Textfeldern veràndern und die Änderungen werden
auch übernommen.

Bin für jede Hilfe dankbar.

Schöne Grüße,
Tobi
 

Lesen sie die antworten

#1 Peter Fleischer
12/08/2008 - 21:05 | Warnen spam
"Tobi" schrieb im Newsbeitrag
news:
Hallo,
ich habe bei meinem in vb6 geschriebenen Programm das Problem, dass die
Datensàtze, die ich über das Data1 Objekt mit einem SQL String aufrufe
nicht
verànderbar sind. Also wenn ich in dem Textfeld, das über die eigenschaft
Datasource mit dem data1 Objekt verbunden ist, eine Änderung vornehme und
dann den Datensatz aktualisiere, wird diese Änderung nicht übernommen.
Woran es ungefàhr liegt habe ich schon herausgefunden, nicht jedoch wie
ich
das Problem löse. Es liegt an dem SQL Select in dem Daten aus 2 Tabellen
abgerufen werden:
SQL1 = "Select Bewerber.* from Bewerber, Detail where ((Bewerber.ID > Detail.IDNR) and (Termin > #2003-01-01# and Termin <= #" & TGDatum & "#)
and
([BA-Folge] LIKE '" & txtFind & "') and (erledigt IS NULL)) ORDER BY
Bewerber.Name"
Set Data1.Recordset = Data1.Database.OpenRecordset(SQL1, dbOpenDynaset)

Ersetze ich den SQL String durch diesen:
SQL1 = "Select * from Bewerber Order by Name"
lassen sich die Daten in den Textfeldern veràndern und die Änderungen
werden
auch übernommen.



"... from Bewerber, Detail ..." bedeutet eine Kombination jeder mit jedem
Datrensatz. Bei Änderungen ist unklar, welcher Datensatz in welcher Tabelle
denn nun zu àndern ist. Es gibt keine Eindeutigkeit.

Viele Gruesse

Peter

Ähnliche fragen