Office: (Office 2007) DLookUp mit Variablen

Helfe beim Thema DLookUp mit Variablen in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Guten Morgen, ich habe folgenden Code für DLookUp Code: dblPa_2014 = Nz(DLookup("Ist_2014", "tbl_by_Channel_" & Me!Kombi7, "Partners = '" & Employee... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von pweiss, 3. Juni 2014.

  1. DLookUp mit Variablen


    Guten Morgen,

    ich habe folgenden Code für DLookUp

    Code:
    Nun möchte ich den Begriff "Partners", durch eine Auswahl in einer Kombibox ersetzten.

    Egal wie ich das Me!Kombi7 da einbaue, ich erhalte immer den Wert 0 aus der Abfrage.

    EDIT:

    Auch folgender Versuch führt leider nicht zum Ergebnis.
    Es kommt die Fehlermeldung, dass er das angesprochene Feld nicht finden kann
    Code:
    Danke

    Gruß,
    pweiss

    :)
     
    pweiss, 3. Juni 2014
    #1
  2. Du hast den Wert des Kombis an den Tabellennamen gehängt - ist es beabsichtigt, auf diese Weise den Tabellennamen zu verändern?

    Ansonsten könnte man, wenn Du Partners aus dem Kombifeld auswählst, den Where-Teil so gestalten:
    Code:
     
    Maxel, 4. Juni 2014
    #2
  3. Hallo Maxel,

    ich will ja kein Tabellennamen verändern, sondern einfach nur den Wert auslesen.

    Kombi7 zeigt u.a. Partners an.
    Ich habe keine Lust, für jede Auswahl aus der Kombi7 einen eigenen Quellcode zu schreiben, deswegen wollte ich es über die Kombi7 lösen.

    Die Variable Employee muss ja bleiben.

    Wie ich schon oben geschrieben hatte
    Code:
    funktioniert leider auch nicht.

    Meine Überlegung wäre noch, es über die eine If Funktion zu lösen, aber da wird der Code auch nur länger und länger. Und damit automatisch irgendwann unübersichtlich.

    gruß,
    pweiss
     
    pweiss, 4. Juni 2014
    #3
  4. DLookUp mit Variablen

    Versuche doch bitte mal, den Dlookup-Wert in Prosa zu formulieren:

    Ich möchte aus der Tabelle tbl_by_Channel

    den Wert des Feldes Ist_2015 auslesen, der folgende Bedingungen erfüllt:

    1. Der Wert für Partners entspricht dem gewählten Wert von Kombi7

    2. ...
     
    Maxel, 4. Juni 2014
    #4
  5. Ich möchte aus der Tabelle tbl_by_Channel_Partners
    den Wert Ist_2015 auslesen. In der Spalte Partners steht der entsprechende Mitarbeiter in der Variable Employee

    Da Partners in der Kombi enthalten ist, möchte ich die feste Zuordnung, durch die Auswahl der Kombi ersetzten.

    Ich habe aber gerade ein ganz anderes Problem:

    Code:
    Mit diesem Code, hole ich die Namen der Mitarbeiter aus der ensprechende Tabelle.
    Mein Problem ist aber, dass die Tabelle unterschiedliche Anzahl von Mitarbeiter haben.

    Bsp: Partners hat 16 Mitarbeiter, deswegen Code:
    Allerdings hat z.b. die Tabelle Professionals nur 4 Mitarbeiter.

    So funktioniert die Schleife natürlich dann nicht mehr und es kommt zu einer Fehlermeldung.

    Kann man die Schleife noch variabler erstellen?
     
    pweiss, 4. Juni 2014
    #5
  6. Meine Vermutung hat sich bestätigt: Für jedes Jahr ein eigenes Feld und für jeden Partner eine eigene Tabelle - ein typischer Fall von einem falschen Datenmodell.

    Du solltest Dich zunächst einmal mit der Normalisierung von Tabellen beschäftigen und so umsetzen. Dann wird die Lösung Deines Problems zum Kinderspiel.
     
    Maxel, 4. Juni 2014
    #6
  7. Ich würde den Hinweis von Maxel vertiefen wollen: Statt herumzuprobieren und Variantenamok zu laufen solltest Du Dich mit der (sehr einfachen) DLookup-Anweisung und deren Syntax beschäftigen und verinnerlichen:
    Application.DLookup-Methode (Access)
    Wenn man dann weiß, was an Argumenten verlangt wird, kann man auch zielgerichtet liefern:
    Code:
    Super. Eigenes Unverständnis zu einem Problem kann man potenzieren, wenn man gleich noch ein weiteres einmischt.
     
    ebs17, 4. Juni 2014
    #7
  8. DLookUp mit Variablen

    Ja, aber wie soll ich das denn sonst lösen?

    Ich schildere mal kurz, wie das ganze Prinzip bisher funktionert.

    Schließt ein Vertriebsmitarbeiter ein Kunde ab, so trägt er diesen über ein Formular mit TextBoxen usw. in einer Tabelle ein.
    In der Tabelle werden alle Abschlüsse von alle Mitarbeitern gesammelt.

    Jeder Mitarbeiter gehört einer bestimmten Gruppierung an (Partners, Professionals usw.)

    Dann möchte ich für die Vorgesetzten ein Report erstellen.
    Über die Auswahl der Kombinationsfelder, wählt der Vorgesetzte dann aus, welchen Report er sehen möchte. Dieser wird dann über ein Unterformular sichtbar.

    Wenn der Vorgesetzte den Report über die Deckungsbeiträge für den Bereich Partners sehen möchte, habe ich bisher eine Tabelle angelegt, wo per VBA den DB in Summe ausgerechnet wird und in der Tabelle eingetragen wird. Und anschließend über das Unterformular sichtbar wird.


    Aus diesem Grund muss ich ja für jede Gruppe eine Tabelle anlegen, damit diese im Unterformular sichtbar.

    Natürlich bin ich gerne für Ratschläge offen.

    gruß,
    pweiss
     
    pweiss, 4. Juni 2014
    #8
  9. @Eberhard: Ich hatte das Anliegen so verstanden, dass der rot markierte Teil dem Kombifeld zu entnehmen und damit eine Variable ist.
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    Maxel, 4. Juni 2014
    #9
  10. Noch ist es keine Variable.
    Ich möchte es zu einer Variable machen.

    So ist der eigentliche Code:
    Code:
    Da aber Partners in der Kombi enthalten ist, möchte ich die feste Zuordnung, durch eine Variable ersetzten.
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    pweiss, 4. Juni 2014
    #10
  11. An dieser Stelle würde ich den Hinweis auf bessere Datenmodellierung wiederholen. Es sollte natürlich nur eine Tabelle mit möglichen Gruppen geben, und Mitarbeiter werden den Gruppen (einer oder mehrerer) zugeordnet.

    Eine anzuzeigenden "Tabelle" in einem Unterformular ergibt sich dann aus einer Abfrage mit einer zielgerichteten Filterung bzw. auch aus einer Verknüpfung zwischen Haupt- und Unterformular.
     
    ebs17, 4. Juni 2014
    #11
  12.  
    pweiss, 4. Juni 2014
    #12
  13. DLookUp mit Variablen

    So funktioniert Datenbank. Daten in vernünftigen Tabellen sammeln (atomare Informtionen, strukturiert => geplantes Datenmodell).
    Dann auswerten: Abfragen, Berichte, Formulare (letztere auch zusätzlch für Eingaben und Bearbeitungen sowie Programmsteuerung).

    Das wäre Aufgabe einer zielgerichteten Abfrage, wobei mir eine Summe aus einem Beitrag nicht schlüssig wirkt. Das ist vielleicht aber nur eine ungünstige Formulierung.

    Merke: Wenn man eine Aufgabe logisch sauber formuliert, beinhaltet sie ja meist schon zur Hälfte den nötigen Lösungsweg, und mit beherrschtem Handwerkszeug (Kenntnis von Anweisungen, Syntaxsicherheit) ist man sehr schnell am Ziel.
     
    ebs17, 4. Juni 2014
    #13
  14. Oh, okay.
    Die ganze Arbeit war dann bisher "umsonst".


    Es wird ja für jeden Mitarbeiter der DB 2014 für jeden einzelnen abgeschlossenen Kunden angezeigt.

    Er soll aber den gesamtem DB 2014 für den entsprechenden Mitarbeiter anzeigen und nicht jeden einzelnen.
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    pweiss, 4. Juni 2014
    #14
  15. Wenn man's gleich richtig macht ...?
    Etwa:
    Code:
     
    ebs17, 4. Juni 2014
    #15
Thema:

DLookUp mit Variablen

Die Seite wird geladen...
  1. DLookUp mit Variablen - Similar Threads - DLookUp Variablen

  2. DLookup (Datum) bei Datum-Zeit

    in Microsoft Access Hilfe
    DLookup (Datum) bei Datum-Zeit: Moin, wenn ich Datensätze mit Datum im Datumsformat per DLookup auslese, funktioniert alles. Wenn die Datensätze auch noch eine Uhrzeit beinhalten, werden sie ignoriert. Muss man in die Kriterien...
  3. Mit DLookUp einen Wert aus einer Abfrage auslesen

    in Microsoft Access Hilfe
    Mit DLookUp einen Wert aus einer Abfrage auslesen: Hallo Forum, ich möchte mit Hilfe der DLookUp-Funktion einen Wert aus einer Abfrage in meinem Formular in einem Textfeld angezeigt bekommen. Die Kriterien sollen sich hierbei dynamisch an der...
  4. Dlookup- Probleme

    in Microsoft Access Hilfe
    Dlookup- Probleme: Hallo zusammen, ich habe Probleme mit der Dlookup-Methode. Beim Start der DB wird die Personalnummer ausgelesen und im Startformular in das Feld [Benutzer] eingetragen. Nun möchte ich das div....
  5. Problem bei der DLookup Funktion

    in Microsoft Access Hilfe
    Problem bei der DLookup Funktion: Hallo, ich habe ein Problem mit der DLooup Funktion und ich komme einfach nicht auf die Lösung. Ich habe eine Form mit einem Edit-Feld und einem Button. Nun soll ich beim Klicken den Inhalt in...
  6. Syntax DLookUp / DomWert mit Kriterium

    in Microsoft Access Hilfe
    Syntax DLookUp / DomWert mit Kriterium: Hallo Forum, ich scheitere gerade kläglich an einer DomWert-Abfrage, bei der sich das Kriterium auf ein berechnetes Textfeld im Formular bezieht:...
  7. DLookup ersetzen

    in Microsoft Access Hilfe
    DLookup ersetzen: Hallo, ich würde gerne folgende Funktion in mein Projekt integrieren: Code: Function DLookup(Expression As String, Domain As String, Optional Criteria) As Variant Dim strSQL As String '...
  8. DLookup-Funktion

    in Microsoft Access Tutorials
    DLookup-Funktion: DLookup-Funktion Access für Microsoft 365 Access 2019 Access 2016 Access 2013 Access 2010 Access 2007 Mehr... Weniger...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden