Office: Im Formular mit VBA-Code in Datensätzen blättern

Helfe beim Thema Im Formular mit VBA-Code in Datensätzen blättern in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo Forum, wie kann ich in einem Formular mit VBA-Code nach Datensätzen blättern ? ich möchte in einem numerischen Feld den ersten Datensatz finden,... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Salamander1944, 11. März 2023.

  1. Im Formular mit VBA-Code in Datensätzen blättern


    Hallo Forum,
    wie kann ich in einem Formular mit VBA-Code nach Datensätzen blättern ?
    ich möchte in einem numerischen Feld den ersten Datensatz finden, in dem das Feld leer ist.

    Wie sieht eine Lösung aus ?
     
    Salamander1944, 11. März 2023
    #1
  2. d'r Bastler
    d'r Bastler hat Ahnung
    Moin Salamander
    wenn Du mit einem Formular eine VBA-Userform meinst, kannst Du eine ComboBox nutzen, die nur mit den Werten gefüllt sind, die eine bestimmte Bedingung erfüllen. Alternativ funktioniert auch ein Makro, das eine bestimmte Spalte per Schleife durchsucht und an der ersten leeren Zelle stoppt.
    Vielleicht beschreibst du etwas genauer, wie Deine Daten aussehen, was Du mit Formular meinst und was Du erzielen willst.
    Grüße
     
    d'r Bastler, 11. März 2023
    #2
  3. ja, meine eine UserForm, Basis ist eine Abfrage...
    Inhalt sind mehrere Felder, das 3. Feld in der Reihenfolge ist das numerische Feld "Zahl", das indiziert ist, ohne Primärschlüssel, weil mehrere gleiche Zahlen möglich sein müssen. Es sind jedoch auch Datensätze enthalten, die keinen Inhalt im Feld "Zahl" enthalten. Nun möchte ich den ersten Datensatz finden, in dem das Feld "Zahl" leer ist.
     
    Salamander1944, 11. März 2023
    #3
  4. d'r Bastler
    d'r Bastler hat Ahnung

    Im Formular mit VBA-Code in Datensätzen blättern

    Dann also die VBA-Schleife:
    Code:
    Option Explicit
    
    Sub Versiv()
    Dim r As Integer, i As Integer
    
    r = UsedRange.Rows.Count + 1
    
    For i = 1 To r
        If Cells(i, 3) = "" Then 'hier wird Spalte 3 = C abgefragt, ggf anpassen
            Cells(i, 3).Activate
            Exit Sub
        End If
    Next i
    
    End Sub
    Gehört in den Code der Tabelle und setzt voraus, dass es einen größeren UsedRange, also genutzten Zellbereich gibt.

    Grüße
     
    d'r Bastler, 11. März 2023
    #4
  5. Doming
    Doming hat Ahnung
    ähm, es geht doch wohl eher um Access, nicht Excel, oder?
    Code:
    Compare Database
    Option Explicit
    
    Private Sub Suchen()
     Dim suchID As Long
        suchID = Nz(DMin("ID", "Abfrage", "Zahl Is Null"), 0)
        If suchID <> 0 Then
            DoCmd.GoToRecord , , acGoTo, suchID
        Else
            MsgBox "Kein Datensatz erfüllt das Kriterium"
        End If
    End Sub
     
    Doming, 11. März 2023
    #5
    1 Person gefällt das.
  6. d'r Bastler
    d'r Bastler hat Ahnung
    Hüstel & schähm ... Bitte um Entschuldigung.
     
    d'r Bastler, 11. März 2023
    #6
  7. andyfau
    andyfau hat Ahnung
    Hallo Doming,
    absolut i.O. die Lösung wird funktionieren. Ich halte es allerdings für etwas unglücklich das Suchkriterium vor dem Suchvorgang auf 0 zurecht zu biegen. Was ist wenn ein Feld den Wert 0 hat und dieser auch relevant ist.
    Ich würde direkt auf "Leer" abfragen.
    Code:
    If IsNull(ID) then.....
     
    andyfau, 12. März 2023
    #7
    1 Person gefällt das.
  8. Im Formular mit VBA-Code in Datensätzen blättern

    Ich habe die Anweisung "suchID = Nz(DMin("ID", "qryPflanzen", "Zahl Is Null"), 0)" für meinen Bedarf angepaßt,
    bekomme aber eine Fehlermeldung:
    "der Ausdruck im Abfrageparameter hat folgenden Fehler verursacht ("ID")"
    außerdem verstehe ich "Nz(DMin)" nicht
     
    Salamander1944, 12. März 2023
    #8
  9. andyfau
    andyfau hat Ahnung
    Hallo,
    Nz macht eigentlich genau das, was ich im vorigen Post als unglücklich bezeichnete.
    Einmal goggeln brigt den Link:
    Code:
    https://support.microsoft.com/de-de/office/nz-funktion-8ef85549-cc9c-438b-860a-7fd9f4c69b6c
    Wie gesagt ist der relativ komplizierte Ausdruck nicht unbedingt nötig. Abfrage auf IsNull(.. ist m.M. hier ausreichend.
     
    andyfau, 12. März 2023
    #9
  10. Doming
    Doming hat Ahnung
    Liegt wohl daran, dass Deine Abfrage kein Feld namens „ID“ hat
     
Thema:

Im Formular mit VBA-Code in Datensätzen blättern

Die Seite wird geladen...
  1. Im Formular mit VBA-Code in Datensätzen blättern - Similar Threads - Formular VBA Code

  2. MSAccess - Feldinhalt in Formular aus anderer Tabelle befüllen (VBA)

    in Microsoft Access Hilfe
    MSAccess - Feldinhalt in Formular aus anderer Tabelle befüllen (VBA): Hallo und guten Tag allerseits, ich habe ein, für viele von Euch sicherlich einfach zu lösendes Problem. In meiner Tabelle literatur habe ich unter anderem die Felder Magazin, Kennung_Jahrgang,...
  3. VBA Formular rechnet nicht

    in Microsoft Excel Hilfe
    VBA Formular rechnet nicht: Hallo zusammen, ich habe ein Problem mit der angehängten Datei. Diese besteht aus: Der Tabelle1 in welcher sich ein CommandButton befindet, der nichts weiter tut, als die UserForm zu öffnen....
  4. Hilfe

    in Microsoft Excel Hilfe
    Hilfe: Liebe Alle, ich bin ganz neu in diesem Forum und bräuchte Hilfe zu einem Excel Projekt. Ich möchte (siehe Bild 1) das die Felder die dort ausgefüllt werden automatisch in Bild 2 übertragen in...
  5. Formular mit Bedingung öffnen aus einem Listenfeld heraus (VBA)

    in Microsoft Access Hilfe
    Formular mit Bedingung öffnen aus einem Listenfeld heraus (VBA): Hallo zusammen, ich möchte aus einem Listenfeld ein Formular mit einer Bedingung öffnen, wenn ich die Enter/Return-Taste drücke. Hinweis: im gleichen Formular ist bereits die Enter-Taste schon...
  6. VBA Code im Hintergrund ausführen ohne dass das Formular blockiert

    in Microsoft Access Hilfe
    VBA Code im Hintergrund ausführen ohne dass das Formular blockiert: Hallo ich habe ein Formular mit einem Timerevent das alle 20 Sec teile des formulares aktualisiert oder ändert. Dabei werden teilweise recht komplexe Abfragen ausgeführt was je nach Auslastung...
  7. Access VBA Abfrage erstellen für Filterung eines Berichtes

    in Microsoft Access Hilfe
    Access VBA Abfrage erstellen für Filterung eines Berichtes: Hallo Leute, habe ein Problem und im nach langer Suche im Netz leider nichts gefunden. Ich möchte mittels VBA einen Bericht öffnen/drucken, bei dem sich erst ein Formular öffnet, in dem ich den...
  8. VBA code für senden Formular über Lotus Notes

    in Microsoft Excel Hilfe
    VBA code für senden Formular über Lotus Notes: Hallo Leute, ich habe hier anscheinend ein unlösbares Problem. Ich habe eine Excel-Datei die aus dem Formular heraus versendet werden kann. Und zwar über einen Button und dann ist man in der...
  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