recordset. select mit where klausel. problem, wenn where klausel nicht trifft.

03/02/2009 - 16:24 von michlchen | Report spam
hallo ng

ich habe ein kleines problem. ich habe ein tabelle, die in etwa so
aussieht:

"
Ort Nr LW Pfad

Berlin 33028 G:\ Daten\DMDC\Berlin\
Brüssel 32376 L:\ Daten\DMDC\Bruessel\
München yyyyy M:\ Daten\DMDC\München\
Stuttgart 33420 S:\ Daten\DMDC\Stuttgart\
"

jetzt mache ich eine selectanweisung und lasse mir alle felder vom ort
in ein recordset laden.

"
Set rstpcparameter = CurrentDb.OpenRecordset("SELECT
[000_PC_Parameter].* FROM 000_PC_Parameter
WHERE ((([000_PC_Parameter].Ort)=" & Chr(34) & Ort &
Chr(34) & "));")
Nr = rstpcparameter!Nr
LW = rstpcparameter!LW
"

dann mache ich per msgbox ne anfrage, ob sich die daten geàndert
haben.

"
Aenderung = MsgBox("Haben sich das Laufwerk oder die Nummer
geàndert ? " & LW & " " & Nr, vbYesNo)
"

wenn ja, werden sie per edit und update geàndert:

"
rstpcparameter.Edit
rstpcparameter!Nr = Nr
rstpcparameter!LW = LW
rstpcparameter.Update
"

bei München, Berlin, ... klappt das prima. mein problem ist, wenn ich
einen neuen ort habe. bspw. Frankfurt.


ich bràuchte hier ne möglichkeit zu erfahren, dass die where klausel
nicht getroffen hat und der recordset keine daten enthàlt (was ist
dann eigentlich im recordset? Null, "" ?)

weiterhin würde ich im fall der fehlgeschlagenen where klausel die
daten anfügen wollen. wie würde ich das machen? geht das einfach per
edit und add oder add und update oder sowas?

"
rstpcparameter.add oder rstpcparameter.edit
rstpcparameter!Ort = Ort rstpcparameter!Ort = Ort
rstpcparameter!Nr = Nr ...
rstpcparameter!LW = LW ...
rstpcparameter!Pfad = \Daten\ & Ort \ ...
rstpcparameter.Update rstpcparameter.add
"

danke für die antworten.

gruß Michl.
 

Lesen sie die antworten

#1 Thomas Möller
03/02/2009 - 17:51 | Warnen spam
Hallo!

michlchen schrieb:
jetzt mache ich eine selectanweisung und lasse mir alle felder vom ort
in ein recordset laden.

"
Set rstpcparameter = CurrentDb.OpenRecordset("SELECT
[000_PC_Parameter].* FROM 000_PC_Parameter
WHERE ((([000_PC_Parameter].Ort)=" & Chr(34) & Ort &
Chr(34) & "));")
Nr = rstpcparameter!Nr
LW = rstpcparameter!LW
"

dann mache ich per msgbox ne anfrage, ob sich die daten geàndert
haben.

ich bràuchte hier ne möglichkeit zu erfahren, dass die where klausel
nicht getroffen hat und der recordset keine daten enthàlt (was ist
dann eigentlich im recordset? Null, "" ?)



schau Dir mal die Eigenschaft EOF des Recordset-Objekts an. Dein Code
könnte ungefàhr so aussehen:


If rstpcparameter.EOF = True THEN

'Das Recordset ist leer

Else

'Das Recordset liefert Daten

End If


HTH
Thomas

Homepage: www.Team-Moeller.de

Ähnliche fragen