Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA (DLookup)

Forumthread: VBA (DLookup)

VBA (DLookup)
04.06.2020 14:58:27
Herbert
Einen schönen guten Nachmittag,
im Voraus, es hat mit Access und nicht mit Excel zu tun. Ich weiß das dieses Forum eigentlich ein reines Excel-Forum ist, nur wollte ich nachfragen ob ich sich nicht vielleicht wer mit dem DLookup auskennt.
Es ist folgendes Problem, der Suchbegriff den ich verwenden will soll Manuel in einer Kombinations-Box wechselbar sein, jetzt gibt der DLookup mir aber den Wert aus der Kombinations-Box wieder, anstatt den Wert den er eigentlich gefunden haben sollte.
Hier der Code:
DLookup("[Zugmaschinen_Kennzeichen]", "abf_70er_Tonnen", "[Auflieger_Kennzeichen] = Auflieger")
Der Wert wird in einem Bezeichnungsfeld wiedergegeben
Ich habe schon ein paar mehr DLookups in Access gemacht und diese haben alle funktioniert, aber jetzt wo ich versuche einen Variablen Suchbegriff zu nutzen, der ungefähr 100 verschiedene Suchbegriffe beinhaltet, funktioniert dies nicht.
Ich bin für jede hilfe dankbar und selbst wenn es nur tipps oder vorschläge sind die dann vlt. weiterhelfen!
MfG Herbert!
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA (DLookup)
04.06.2020 19:51:32
Luschi
Hallo Herbert,
da Auflieger keine Variable sondern ein String-Text ist, muß man Auflieger so schreiben:
'Auflieger'
DLookup("[Zugmaschinen_Kennzeichen]", "abf_70er_Tonnen", "[Auflieger_Kennzeichen] = 'Auflieger'")
Gruß von Luschi
aus klein-Paris
Anzeige
;
Anzeige

Infobox / Tutorial

DLookup in Excel und Access: Ein umfassender Leitfaden


Schritt-für-Schritt-Anleitung

  1. Zugriffsquelle definieren: Stelle sicher, dass Du eine Datenquelle hast, auf die der DLookup zugreifen kann. In Access kann dies eine Tabelle oder Abfrage sein.

  2. DLookup verwenden: Der DLookup-Befehl sucht einen bestimmten Wert in einer angegebenen Tabelle oder Abfrage. Die Syntax sieht folgendermaßen aus:

    DLookup("Feldname", "Tabelle", "Kriterium")

    Beispiel:

    DLookup("[Zugmaschinen_Kennzeichen]", "abf_70er_Tonnen", "[Auflieger_Kennzeichen] = 'Auflieger'")
  3. Variablen im DLookup nutzen: Wenn Du eine Variable als Suchkriterium verwenden möchtest, achte darauf, die Variable korrekt in den DLookup-Befehl einzufügen. Beispiel:

    Dim suchbegriff As String
    suchbegriff = "DeinWert"
    DLookup("[Zugmaschinen_Kennzeichen]", "abf_70er_Tonnen", "[Auflieger_Kennzeichen] = '" & suchbegriff & "'")
  4. Ergebnis verwenden: Das Ergebnis des DLookup kann in einer Variablen gespeichert oder direkt in einem Steuerelement angezeigt werden.


Häufige Fehler und Lösungen

  • Fehlerhafte Kriteriensyntax: Achte darauf, dass Du Strings in einfache Anführungszeichen setzt. Beispiel:

    DLookup("[Zugmaschinen_Kennzeichen]", "abf_70er_Tonnen", "[Auflieger_Kennzeichen] = 'Auflieger'")
  • Keine Ergebnisse: Wenn DLookup keinen Wert zurückgibt, kann es daran liegen, dass es keinen passenden Datensatz gibt. Überprüfe Deine Kriterien sorgfältig.

  • Typkonflikte: Stelle sicher, dass die Datentypen der Kriterien mit denen in der Tabelle übereinstimmen. Ein Vergleich zwischen Text und Zahl wird nicht funktionieren.


Alternative Methoden

  • VLOOKUP in Excel: Wenn Du in Excel arbeitest, kannst Du die VLOOKUP-Funktion verwenden, um ähnliche Ergebnisse zu erzielen. Die Syntax ist:

    VLOOKUP(Suchkriterium, Tabelle, Spaltenindex, [Bereich_Verweis])
  • INDEX und MATCH: Eine leistungsfähigere Kombination ist INDEX und MATCH, die flexibler ist als VLOOKUP.


Praktische Beispiele

  1. Zugriff auf Daten in Access:

    Dim kennzeichen As String
    kennzeichen = DLookup("[Zugmaschinen_Kennzeichen]", "abf_70er_Tonnen", "[Auflieger_Kennzeichen] = 'Auflieger'")
    MsgBox kennzeichen
  2. DLookup in Excel: Um DLookup in Excel zu verwenden, stelle sicher, dass Du die richtige VBA-Umgebung verwendest:

    Dim wert As Variant
    wert = Application.DLookup("[Zugmaschinen_Kennzeichen]", "abf_70er_Tonnen", "[Auflieger_Kennzeichen] = 'Auflieger'")
    MsgBox wert

Tipps für Profis

  • Verwende mehrere Kriterien: Du kannst mehrere Kriterien in DLookup verwenden, indem Du die Bedingungen mit "AND" oder "OR" verknüpfst:

    DLookup("[Zugmaschinen_Kennzeichen]", "abf_70er_Tonnen", "[Auflieger_Kennzeichen] = 'Auflieger' AND [Status] = 'Aktiv'")
  • Performance optimieren: Bei großen Datenmengen kann DLookup langsam sein. Überlege, ob Du die Daten zuerst filtern oder in ein Array laden möchtest.


FAQ: Häufige Fragen

1. Was ist DLookup?
DLookup ist eine Funktion in Access und Excel, die es ermöglicht, einen Wert aus einer Tabelle oder Abfrage basierend auf einem Kriterium zu suchen.

2. Kann ich DLookup in Excel verwenden?
Ja, DLookup kann auch in Excel verwendet werden, jedoch nur im VBA-Bereich. Du kannst dafür die Application.DLookup-Methode nutzen.

3. Wie kann ich mehrere Kriterien in DLookup verwenden?
Du kannst mehrere Kriterien angeben, indem Du die Bedingungen mit "AND" oder "OR" kombinierst, um die Suche noch spezifischer zu gestalten.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige