Office: (Office 2010) Dlookup mit MAX

Helfe beim Thema Dlookup mit MAX in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo, irgendwie habe ich den Faden verloren. Ich versuche ein Dlookup durchzuführen aber bekomme immer einen Sytakfehler und weis nicht was ich... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Gery, 31. Juli 2012.

  1. Dlookup mit MAX


    Hallo,

    irgendwie habe ich den Faden verloren.
    Ich versuche ein Dlookup durchzuführen aber bekomme immer einen Sytakfehler und weis nicht was ich übersehe.
    Code:
    Habe einiges probiert und ich denke es hat mit der MAX Abfrage für das Datum zu tun.
    Ich suche den ID Wert wo der Buchstabe C vorhanden ist und das Datum den letzten Wert hat.
    Wäre sehr Dankbar für die Hilfe.
    Gruß Gerhard

    :)
     
  2. Hi,

    so wie es dasteht, wird Das Feld Status auf C getestet und das Feld Datum mit dem Feld Max (!). Und ein Feld Max gibts vermutlich nicht.

    Der Maximalwert muss separat ermittelt werden, z.B. so:

    Code:
    Der fette Teil ist die Maximalwerteermittlung des Felds Datum aus der Import_Tbl. Wenn du das Feldmaximum nicht aus der ganzen Tabelle, sondern nur einem Teil bilden willst, kannst du beim Dmax auch noch Kriterien als 3. Argument einstellen.
     
    Atrus2711, 1. August 2012
    #2
  3. Atrus2711,

    zuerst Danke für den Tip, jedoch bekomme ich einen falschen Wert raus.
    ich habe gesehen das die ganzen Daten als Textdaten in der Tabelle exestieren.
    Wie kann ich nun das Datum abfragen?
     
  4. Dlookup mit MAX

    Zeige uns doch bitte mal beispielhaft, wie ein Datum als Text aussieht.
     
  5. Hallo,
    wenn du das Tabellenfeld nicht generell auf den geeigneten Datentyp umstellen kannst oder willst, könntest du das Datum "erzeugen", z.B. mit der Funktion DateSerial() und den entsprechenden Stringteilen (Left/Mid/Right) aus deinem Datumsstring. Vorausgesetzt, der hat ein brauchbares Format und zwar durchgängig. Besser wäre Variante 1, Feld umstellen.
    maike
     
    maikek, 1. August 2012
    #5
  6. Das Textfeld sieht so aus 17.01.2011
    Wäre mir auch lieber, aber die Daten werden von Excel importiert mit
    Code:
    Jedoch beim Versuch die Daten auszulesen und in einer neuen Tabelle zu speichern mit den richtigen Formaten hängt sich Access auf, da es 77000 Datensätze sind. Bei geringen DS funktioniert es.
    Daher versuche ich nun bestimmte DS in eine neue Tabelle zu schreiben die ich benötige.
    Daher benötige eine Abfrage die eben einem bestimmten Buchstaben sucht (kommt mehrmals vor) und nach den jüngstem Datum (letzte Eingabe unter den gesuchten Buchstaben).
    Das sind meine Versuche.
    Code:
    Die Tabelle sieht so aus:
    F3 F47 F52
    23 C 28.11.2012
    23 C 30.11.2012
    23 C 01.12.2012
    23 A 28.11.2012
    23 A 22.11.2012
    23 C 28.11.2012
    25 C 28.11.2012
    25 C 28.11.2012
    25 C 28.11.2012

    Also ich brauche den letzten Eintrag von 23 mit Buchstabe "C" , danach von 25 mit Buchstabe "C" usw.
    Hoffe es ist jetzt verständlich sorry.
     
  7. Hallo
    ich habe zum vorschlag von Martin einen Testt gemacht:

    zuerst habe ich noch was anderes
    1. wie ist Datum Definiert? als Date ?
    2. für ein Feldname in einer Tabelle würde ich NIE Datum verwenden
    den Datum und Date sind reservierte worte *Smilie

    wen Datum Date ist müste man das noch in das richtige format bringen
    sowas:
    #1/31/2012#
    dazu habe ich einiges in meiner Doc einiges geschrieben.
    so auch zu BuildCriteri das ich im muster code verwende.

    Code:
    Hoppla ich sehe jetzt gerade da ist einge in der zwischen Zeit geschehen
    einiges ist an mir vorbei *frown.gif*
    sorry da ist einiges meiner Fragen schon Beantwortet
     
    Lanz Rudolf, 1. August 2012
    #7
  8. Dlookup mit MAX

    Hi,

    der direkte Import von Exceldaten ist eh ungut, da du dabei keine Datentypen vorgeben kannst und die Datentypen daher aus den Werten "abgeleitet" werden. Diese Ableitung kann schiefgehen.

    Ich würde die Dateien in Excel als csv speichern und diese Textdateien dann importieren. Dabei kannst du die Datentypen vorgeben. Notfalls kannst du auch die CSVs in eine Tabelle importieren, die alle Felder als Text deutet, um erstmal die Rohdaten in Access zu haben und dann dort mit Access-Mitteln die richtigen Werte rauszuholen.

    Mit Feldnamen wie #F52# würde ich mich jedenfalls nicht rumschlagen.... Stell das auf richtiger Füße.
     
    Atrus2711, 1. August 2012
    #8
  9. Lanz Rudolf ist ja kein Beinbruch.lol
    Der import ist so wie du sagst eine Rohdatei. Diese wird auch wieder gelöscht und die F1 bis F54 sind die Spalten die automatisch vom import bezeichnet werden.
    Wie oben geschrieben suche ich nun eine Lösung wie ich die Daten abfragen kann und in eine fixe tabelle eintrage. Das mit der Schleife funkt nicht. Da hängt sich Access bei dieser Datenmenge auf. Oben habe ich die Spalten rausgeschrieben die ich abfragen muss. Ich weis nicht wie ich sonst diese Datenmengen verarbeiten kann.
     
    • Bau eine Importtabelle manuell auf, in der die Spalten taugliche Namen und Datentypen haben. #F53# ist kein tauglicher Name!
    • Lies dorthin die CSV-Datei ein, die du aus dem Excelsheet erzeugst. Dabei kannst du über den Button "Weitere" festlegen, welche Spalte wohin kommt.
    Ergebnis: Du hast eine brauchbare Tabelle, die für weitere Verarbeitung nutzbar ist.
     
    Atrus2711, 2. August 2012
    #10
  10. \@Gery: Verwende mal besser
    Code:
    Daten, die man nicht wirklich in dieser Form braucht, muss man nicht importieren, in einer verlinkten Tabelle sind sie genau so verfügbar (in einer Datenbanktabelle wären sie nur wirkungsvoller, wenn sie dann zusätzlich indiziert wären).

    Auf die verlinkte Tabelle kannst Du nun mit einer normalen Abfrage zugreifen:
    Code:
    Wird nun der das Datum wegen der inneren Formatierung in Excel als Text inetrpretiert, kannst Du innerhalb der Abfrage eine passende Konvertierung ergänzen:
    Code:
    Eine solche Tabelle oder Teile davon kannst Du an die "fixe Tabelle" anfügen.

    @Martin: Wenn wie hier offensichtlich die Exceltabelle keine Feldüberschriften hat, bessert es nicht die Situation, wenn man statt der automatisch gebildeten Feldnamen F1 ... F52 künstliche Feldnamen aufpfropft. In beiden Fällen ist man auf eine gleichbleibende Reihenfolge der Spalten mit korrekten Inhalten angewiesen, da es sonst Störungen in der Zuordnung zu Zielfeldern in Datenbanktabellen geben wird wie auch bei der direkten Verarbeitung der Exceltabellen-Inhalte.
     
  11. \@ebs17:
    Wohl wahr, aber immerhin bleibt beim Import von CSVs die Wahl der Datentypen Sache des Anwenders. Ich importiere xls(s)-Daten überhaupt nicht mehr, da ich Datentypvergabe für Menschenarbeit halte.
     
    Atrus2711, 2. August 2012
    #12
  12. Dlookup mit MAX

    Ich halte sehr viel von direkten und schnellen Importen von standardisierten Daten (besser maschinell erzeugt), da eine Benutzerinteraktion wie Datentypvergabe eher Störgröße und Fehlerquelle ist.

    Im Zielsystem (mit geplantem Datenmodell) liegen Datentypen doch fest und sind nicht diskutabel, oder?
     
  13. Ja sicher. Die Typvergabe sollte einmalig und mit Fachkunde erfolgen.

    "Direkt und schnell" ist hinreichend (nice), aber richtig ist notwendig (must). Und aus Excel direkt krieg ich keine richtigen Daten, weil der Excel-Import Datentypen ableitet. Wie erwähnt, ist die Datentypwahl (einmaliges) Menschenwerk.
     
    Atrus2711, 2. August 2012
    #14
  14. Mit anderen Worten: Einer (aus und mit Deinem System) selbst erzeugten Exceldatei würdest Du auch nicht trauen?
     
Thema:

Dlookup mit MAX

Die Seite wird geladen...
  1. Dlookup mit MAX - Similar Threads - Dlookup MAX

  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