ADO recordset offline aktualisieren

18/06/2009 - 13:13 von Richard Ohl | Report spam
Hallo,
ich brauche nochmal eure Hilfe, bitte. Ich befülle Excel-Querytables aus ADO
recordsets - der Bezug zu Access ist, ehrlich gesagt, nur insoweit gegeben,
als das ich ein ADP zum Zugriff auf die DB benutze - Entschuldigung!
Bei einigen Datensàtzen soll eine bestimmte Spalte nun nur
ausgegeben werden, wenn sie nicht gleich einer anderen Spalte ist.
Allerdings möchte ich das nicht in der Datenbank àndern und öffne meinen
Cursor so:
prst.Open oCmd, , adOpenForwardOnly, adLockReadOnly
Zudem habe ich das Recordset disconnected. Wenn ich es nun aber durchlaufen
will und eine Spalte àndere, bekomme ich natürlich einen Runtime Error 3251
(der Provider unterstützt updaten nicht). Die Schleife sieht so aus:
While Not (prst.BOF And prst.EOF)
If prst("pname") = prst("oname") Then
prst("pname") = ""
End If
prst.MoveNext
Wend
Gibt es eine Möglichkeit, offline und nur für die Anzeige ein Recordset zu
veràndern?
Bin dankbar über jeden Hinweis,
Richard
One of the symptoms of an approaching nervous breakdown is the belief that
one's work is terribly important. -- Bertrand Russell


One of the symptoms of an approaching nervous breakdown is the belief that
one's work is terribly important. -- Bertrand Russell
 

Lesen sie die antworten

#1 Michael Schörner
18/06/2009 - 14:12 | Warnen spam
Hallo Richard,

der einfachste Weg, denke ich, ist, die Prüfung, ob das Feld gleich einem
anderen ist, in der Abfrage selbst vorzunehmen. Eine Möglichkeit im SQL
Server wàre bspw.:

SELECT Feld1, Feld2, Feld3 INTO #tmp FROM Tabelle
UPDATE #tmp SET FELD3 = '' WHERE Feld3 = Feld2
SELECT * FROM #tmp

Da T-SQL kein IIF() kennt, ist´s ein wenig umstàndlicher als in Access, wo
das Gleiche folgendermaßen möglich ist:

SELECT Feld1, Feld2, IIF(Feld2 = Feld3, '', Feld3) AS Feld FROM Tabelle

Viele Grüße,
Michael

Hallo,
ich brauche nochmal eure Hilfe, bitte. Ich befülle Excel-Querytables aus
ADO
recordsets - der Bezug zu Access ist, ehrlich gesagt, nur insoweit
gegeben,
als das ich ein ADP zum Zugriff auf die DB benutze - Entschuldigung!
Bei einigen Datensàtzen soll eine bestimmte Spalte nun nur
ausgegeben werden, wenn sie nicht gleich einer anderen Spalte ist.
Allerdings möchte ich das nicht in der Datenbank àndern und öffne meinen
Cursor so:
prst.Open oCmd, , adOpenForwardOnly, adLockReadOnly
Zudem habe ich das Recordset disconnected. Wenn ich es nun aber
durchlaufen
will und eine Spalte àndere, bekomme ich natürlich einen Runtime Error
3251
(der Provider unterstützt updaten nicht). Die Schleife sieht so aus:
While Not (prst.BOF And prst.EOF)
If prst("pname") = prst("oname") Then
prst("pname") = ""
End If
prst.MoveNext
Wend
Gibt es eine Möglichkeit, offline und nur für die Anzeige ein Recordset zu
veràndern?
Bin dankbar über jeden Hinweis,
Richard

Ähnliche fragen