Office: (Office 2013) Datensatz finden und Ändern

Helfe beim Thema Datensatz finden und Ändern in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, ich arbeite zur Zeit an einer Datenbank, für die Vermietung von Veranstaltungstechnik. Allerdings macht mir das Formular, welches für... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Philipp4563, 10. Oktober 2015.

  1. Datensatz finden und Ändern


    Hallo zusammen,

    ich arbeite zur Zeit an einer Datenbank, für die Vermietung von Veranstaltungstechnik. Allerdings macht mir das Formular, welches für die Rückgabe gedacht ist Probleme und ich komme nicht weiter.

    Für die Rückgabe soll ein Barcode Scanner genutzt werden. (Technik_ID = Barcode_ID).

    In dem Formaler soll sich ein EditFeld und ein Datumsfeld (in dem immer das heutige Datum steht) befinden. Außerdem soll ein Button für die Freigabe des Scannvorgangs und ein Button für das abschließen des Vorgangs vorhanden sein.
    Diese oben genannten Felder sind Attribute der Tabelle Miete.

    Tabelle Miete: Miet_ID, Technik_ID, Kunden_ID, Ausleihdatum, Rueckgabedatum (Datumsfeld im Rückgabe Formular).

    Mein Problem ist nun, dass ich einen Befehl, wie zB. Locate aus Delphi benötige. Das wäre mein Ansatz gewesen, ich allerdings gescheitert bin.

    Ich hoffe Ihr könnte mir helfen.

    Mfg Philipp

    :)
     
    Philipp4563, 10. Oktober 2015
    #1
  2. Servus Philipp4563,
    Bist Du Dir sicher, dass der Scanner nur Zahlen einliest?
    Das suggerieren zumindest Deine Feldnamen.
    Heutige Scanner (Handscanner) lösen per Knopfdruck den Lesevorgang aus und per Loslassen des Knopfes ein Speichern im Datensatzfeld.
    Man muss also nur das Steuerelement, welches den Scan übernehmen soll anklicken und dann den Scanner betätigen.
    Der Datntyp des Steuerelements sollte aber meiner Meinung nach eher Text, als Zahl sein
     
    Ohrkester, 12. Oktober 2015
    #2
  3. Mit der genauen Funktionsweise des Scanners hatte ich mich, wenn ich ehrlich bin noch nicht genau beschäftigt.
    Mein primäres Ziel ist erstmal, dass ich den Datensatz irgendwie suchen kann und ändern kann, der die ID hat, welche eingescannt werden soll und bei dem das Rueckgabedatum leer ist.

    Ich sollte vielleicht noch ergänzen, dass es mehr ein Übungsprojekt ist und nur falls es funktioniert, mal bei einem Bekannten getestet werden soll.
     
    Philipp4563, 12. Oktober 2015
    #3
  4. Datensatz finden und Ändern

    der folgende Satz macht keinen Sinn.
    Wie willst du etwas suchen, was noch gar nicht eingescannt worden ist?
    Du musst wahrscheinlich das so machen.
    1. Durchgang in einem Stammdatenformular:
    Einscannen der Scanwerte der Produkte in eine Tabelle und ein Tabellenfeld
    für den Scanwert dort.
    2. Durchgang:
    Suchen über ein Suchformular nach dem gespeicherten Scanwert durch vergleichen mit einem neuen Scanwert des Scanners.
     
    Ohrkester, 12. Oktober 2015
    #4
  5. Das ich etwas einscannen muss, um es zu suche ist klar. Aber ich suche einfach nur eine Funktion, WIE ich eben genau so einen Datensatz suchen kann. Ob es da eine Möglichkeit über VBA gibt, was mir am liebsten wäre.
    Den Scanner kann ich auch erstmal durch eine Eingabe von Hand simulieren...
     
    Philipp4563, 12. Oktober 2015
    #5
  6. Da gibts viele Suchmöglichkeiten.

    Es gibt die Findfirst Funktion.
    Es gibt den Formularfilter.
    Es gibt die Suche über mehrere Auswahlkriterien in speziellen Suchformularen.
    usw.

    Hier mal die Findfirst Funktion.
    Findfirst Funktion mit absolutem Suchwert
    Bei einem Zahlenwert
    Code:
    Bei einem alphanumerischem Wert (Text)
    Code:
    Findfirst Funktion mit ungefährem Suchwert (ergibt möglicherweise mehrere Ergebnisse)
    Bei einem Zahlenwert keine ungefähre Suche möglich (danke an Josef P. für den privaten Hinweis)

    Bei einem alphanumerischem Wert (Text) (ergibt möglicherweise mehrere Ergebnisse)
    Code:
     
    Ohrkester, 12. Oktober 2015
    #6
  7. Danke schonmal! Die Findfirst funktion ist genau das, was ich gesucht habe.

    Allerdings stoße ich nun auf die Fehlermeldung "Laufzeitfehler 91. Okjektvariable doer With-Blockvariable nicht festgelegt".

    Der Debugger bleibt bei dem Programmteil stehen:

    Me.Recordset.FindFirst "[Miete.Technik_ID] =" & "Me!ScannTechnik_ID"
     
    Philipp4563, 12. Oktober 2015
    #7
  8. Datensatz finden und Ändern

    Vorausgesetzt, ScannTechnik_ID ist eine Zahl:

    Code:
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    Andre.Heisig, 12. Oktober 2015
    #8
  9. Also ScannTechnik_ID ist ein Textfeld in diesem Fall, welches das Format Standartzahl hat und ich gebe beispielsweise einfach eine 1 ein. Leider liegt es daran nicht, wenn ich das richtig sehe.
     
    Philipp4563, 12. Oktober 2015
    #9
  10. Hallo!

    FindFirst erwartet einen Filterausdruck.

    obiger Code mit einer Variable zur Veranschaulichung:
    Code:
    Probleme:
    * Bei Debug.Print sollte kommen [Miete.Technik_ID] =1. (... wenn eine 1 im Steuerelement steht)
    * Die Klammern um [Miete.Technik_ID] sind falsch. Grundsätzlich gehören Namen eingeklammert: [Quelle].[Datenfeld]. Bei FindFirst oder bei einem formularfilter (also beim Filter über ein Recordset) sind die Namen der Datenherkunft nicht anzugeben. => nur [Technik_ID] =1

    Folge der obigen Filter: Es wird kein Datensatz gefunden und das Recordset für das Formular hat nichts mehr zum Anzeigen.

    Lösung:
    1. Filterausdruck richtig zusammenstellen (wie von Andre gezeigt):
    Code:
    Bezüglich Konvertierung in SQL-Text: es kommt auf den Datentyp von Technik_ID an. Der gezeigten Code ist für einen Long-Zahlen-Datentyp. Zahlen am besten mit Str() zu Text konvertieren, dann klappt es auch bei Dezimalzahlen.

    2. Mit RecordsetClone suchen und falls kein Datensatz gefunden wurde, nicht auf den nicht vorhandenen DS springen. ;-)
    Code:
    mfg
    Josef
     
    Josef P., 12. Oktober 2015
    #10
  11. Das Datenformat in der Tabelle ist ausschlaggebend, nicht das Steuerelement.

    Zahl: Me.Recordset.FindFirst "[Miete.Technik_ID] =" & Me!ScannTechnik_ID
    Text: Me.Recordset.FindFirst "[Miete.Technik_ID] ='" & Me!ScannTechnik_ID & "'"
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    Andre.Heisig, 12. Oktober 2015
    #11
Thema:

Datensatz finden und Ändern

Die Seite wird geladen...
  1. Datensatz finden und Ändern - Similar Threads - Datensatz Ändern

  2. Filtern von Datensätzen

    in Microsoft Excel Hilfe
    Filtern von Datensätzen: Guten Abend erst einmal, ich bin neu hier im Forum und wollte gerne Euer Schwarmwissen um Hilfe bitten. Meine Excelversion ist Version 16.87 (24071426) Ich habe folgendes Problem. Ich habe eine...
  3. Access Neuer Datensatz im Formular

    in Microsoft Access Hilfe
    Access Neuer Datensatz im Formular: Hallo - ich bin neu hier und Anfängerin im VBA Programmieren. Ich habe eine Frage zu VBA: In meinem Formular kann ich Daten eingeben, wenn ich das Formular wieder öffne, wird der letzte...
  4. Datensatz aus Ufo2 auch in Ufo1 anzeigen

    in Microsoft Access Hilfe
    Datensatz aus Ufo2 auch in Ufo1 anzeigen: Liebe Forenmitglieder. Ich benötige wieder Eure Hilfe. Ich habe ein Formular mit Stammdaten und zwei eingebetteten Unterformulare mit ergänzenden Daten. Wenn im Ufo1 ein Datensatz angelegt wird,...
  5. Serienbrief aus mehreren Datensätze

    in Microsoft Excel Hilfe
    Serienbrief aus mehreren Datensätze: Hallo ich benötige Hilfe bei der Erstellung eines Serienbriefes aus eine Excel Tabelle. Hintergrund ist, ich habe ein Excel Tabelle aus Teams Schichten exportiert. Hier wird aus jedem Eintrag ein...
  6. Datensätze filtern/ändern und kopieren

    in Microsoft Access Hilfe
    Datensätze filtern/ändern und kopieren: Hallo an alle, Tüfftle jetzt schon seit Wochen rum wie ich folgendes Problem löse. Muss gleich dazusagen das ich eigentlich nichts mehr in Access mache und nur einem Freund helfen will....
  7. Recordset Datensatz ändern

    in Microsoft Access Hilfe
    Recordset Datensatz ändern: Hi ich habe ein Problem. Ich möchte einen Wert von bestimmten Datensätzen in einer Tabelle ändern. Code: Set rs = CurrentDb.OpenRecordset("Für Steuerberater", dbOpenDynaset, dbSeeChanges)...
  8. Das Ändern von bestimmten Datensätzen bedingt zulaßen

    in Microsoft Excel Hilfe
    Das Ändern von bestimmten Datensätzen bedingt zulaßen: Hallo Leute, Das Problem.. ich habe eine Tabelle generiert, wo externe Leute ganz normal in Zeilen verschiedene Infos eintragen wie zb: Datum, Wert, Kunde und geplantes Abschlußdatum. Die...
  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