Discussion:
Fehlermeldung "Sub oder Function" nicht definiert
(zu alt für eine Antwort)
Michael Alexander
2010-01-12 16:07:08 UTC
Permalink
Hallo!

Bei folgender Abfrage bekomme ich die o.a. Fehlermeldung:

If Mid(txtBarcode, 18, 5) < CLng(DLookup("Gültigkeit", "BarcodesVereine",
"[Barcode] = '" & txtBarcode & "'"))

Angemeckert wird im DLookup die Variable txtBarcode, welche aber ein
Steuerelementname mit Inhalt ist.

Kann es aber auch sein, dass es in VB6 keine Aggregatfunktionen (DLookup)
gibt??

Danke
Michael
Udo Riesmeier
2010-01-12 17:55:17 UTC
Permalink
Hi,

die Funktion "DLookup" gibt es nicht im VB, sondern ist bestandteil von VBA
(Access).


Gruß

Udo
Post by Michael Alexander
Hallo!
If Mid(txtBarcode, 18, 5) < CLng(DLookup("Gültigkeit", "BarcodesVereine",
"[Barcode] = '" & txtBarcode & "'"))
Angemeckert wird im DLookup die Variable txtBarcode, welche aber ein
Steuerelementname mit Inhalt ist.
Kann es aber auch sein, dass es in VB6 keine Aggregatfunktionen (DLookup)
gibt??
Danke
Michael
Wolfgang Enzinger
2010-01-12 23:09:21 UTC
Permalink
Post by Udo Riesmeier
die Funktion "DLookup" gibt es nicht im VB, sondern ist bestandteil von VBA
(Access).
richtig. Was sich schon daraus ableiten lässt, dass bei dieser Funktion
gar keine Datenbankverbindung angegeben werden kann. Access VBA nimmt da
halt die "CurrentDB" her, aber sowas existiert naturgemäss in VB6 nicht.
[...]
Post by Udo Riesmeier
Post by Michael Alexander
Angemeckert wird im DLookup die Variable txtBarcode, welche aber ein
Steuerelementname mit Inhalt ist.
Ich nehme mal an, dass das eine TextBox ist. Wenn das so ist: da verhält
sich die IDE in der Tat seltsam, denn sie markiert nicht das eigentliche
Problem. Wenn du aber statt "txtBarcode" vollständig ausformuliert
"txtBarcode.Text" hinschreibst, kennt sich die IDE wieder aus und
markiert die richtige Stelle: DLookup ist nicht definiert.
Post by Udo Riesmeier
Post by Michael Alexander
Kann es aber auch sein, dass es in VB6 keine Aggregatfunktionen (DLookup)
gibt??
Inwiefern ist DLookup eine Aggregatfunktion?

Du kannst dir diese Funktion übrigens mit wenigen Code-Zeilen selber
nachbauen, aber du wirst einen zusätzlichen Parameter einbauen müssen,
der eben angibt, in welcher Datenbank überhaupt nachgeschaut werden
soll.
--
Viele Grüsse,
Wolfgang
http://www.enzinger.net
Michael Alexander
2010-01-13 12:24:15 UTC
Permalink
Hallo wolfgang!
Post by Wolfgang Enzinger
Post by Udo Riesmeier
die Funktion "DLookup" gibt es nicht im VB, sondern ist bestandteil von VBA
(Access).
richtig. Was sich schon daraus ableiten lässt, dass bei dieser Funktion
gar keine Datenbankverbindung angegeben werden kann. Access VBA nimmt da
halt die "CurrentDB" her, aber sowas existiert naturgemäss in VB6 nicht.
[...]
Post by Udo Riesmeier
Post by Michael Alexander
Angemeckert wird im DLookup die Variable txtBarcode, welche aber ein
Steuerelementname mit Inhalt ist.
Ich nehme mal an, dass das eine TextBox ist. Wenn das so ist: da verhält
sich die IDE in der Tat seltsam, denn sie markiert nicht das eigentliche
Problem. Wenn du aber statt "txtBarcode" vollständig ausformuliert
"txtBarcode.Text" hinschreibst, kennt sich die IDE wieder aus und
markiert die richtige Stelle: DLookup ist nicht definiert.
Post by Udo Riesmeier
Post by Michael Alexander
Kann es aber auch sein, dass es in VB6 keine Aggregatfunktionen (DLookup)
gibt??
Inwiefern ist DLookup eine Aggregatfunktion?
Hast recht. Mir ist es erst am Abend eingefallen.
Nicht Aggregatfunktion sondern Domänenfunktion heißt es in VBA!

Aber das Problem ist gelöst, ich habe es zuvor schon mit einem Recordset
gelöst.

Gruß
Michael
Post by Wolfgang Enzinger
Du kannst dir diese Funktion übrigens mit wenigen Code-Zeilen selber
nachbauen, aber du wirst einen zusätzlichen Parameter einbauen müssen,
der eben angibt, in welcher Datenbank überhaupt nachgeschaut werden
soll.
--
Viele Grüsse,
Wolfgang
http://www.enzinger.net
Loading...