Office: Access und Formulare bzw suchen

Helfe beim Thema Access und Formulare bzw suchen in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hey Leute, Ich habe mehrere Access Probleme, bei denen Ihr mir sicher helfen könnt. Problem 1: Ich habe ein Formular erstellt. Wenn dieses... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von revo86, 5. Mai 2008.

  1. revo86 Erfahrener User

    Access und Formulare bzw suchen


    Hey Leute,

    Ich habe mehrere Access Probleme, bei denen Ihr mir sicher helfen könnt.

    Problem 1: Ich habe ein Formular erstellt. Wenn dieses geöffnet wird, dann sollen die Felder leer sein, gleiches gilt wenn ein Formular ausgefüllt wurde und ein weiteres gleich hintendran gesetzt wird.

    Eventuell wollte ich auch noch eine verwerfen Taste einbauen, also wenn die Eingabe abgebrochen wird, das alle Felder wieder leer sind und die Teils erfolgten Eingaben nicht gespeichert werden.

    In diesem Formular möchte ich ebenfalls verhindern, dass man die Einträge editiert, in dem man versehentlich das Mausrad dreht und in die ausgefüllten Felder schreibt. Dies sollte nur in einem Extra Editierbereich möglich sein.

    Das Formular ist schon erstellt. Nur mit Eingabefeldern, jedoch wäre bei einer Angabe ein Listenfeld mit 13 Vorgabewerten sinnvoller - zum einen Komfortabler und zum anderen lassen sich die Angaben später besser Filtern und ausdrucken.

    Problem 2: Ausserdem hatte ich vor, die Suche bzw Filterfunktion auch auf Basis eines reinen vordefinierten Formulars zu erstellen, in dem man sich die Datensätze hauptsächlich durch Listenfelder in seltenen Fällen mit Textfeldern anzeigen lassen kann. Allerdings hapert es dort auch bereits bei erstellen Access und Formulare bzw suchen :(

    Weiß jemand wie sich diese Wünsche realisieren lassen?

    mit freundlichen Grüßen
    Bastian
     
    revo86, 5. Mai 2008
    #1
  2. jens05 Erfahrener User
    Hallo,
    wie sieht der Formularaufbau aus?
    Genügt dir vielleicht schon die Formulareigenschaft "Daten eingeben", welche du auf Ja setzt, um immer leere Eingabefelder vorzufinden? Damit sollte dann auch das Scrollen verhindert werden.

    Anderenfalls setze die Formulareigenschaft "Bearbeiten zulassen" auf Nein, damit kannst du nur "neue Datensätze" anfügen, aber keine alten Editieren". Um dabei zu den leeren Feldern zu gelangen sollte im Formularereignis "Beim öffnen" folgendes hinterlegt werden
    Code:
        DoCmd.RunCommand acCmdRecordsGoToNew
    Als Ereignisprozedur hinter deinem "Verwerfen" Button sollte
    Code:
        Me.Undo
    funktionieren.

    Zum anderen Punkt, soll das Listenfeld der Ergebnispräsentation dienen, oder als Filterhilfe?
     
    jens05, 5. Mai 2008
    #2
  3. revo86 Erfahrener User
    Hey Jens,

    danke dir - bin natürlich jetzt nicht darauf gekommen, mal in den Eigenschaften nachzusehen *Kopfstoß*.

    Also das mit dem Listenfeld habe ich nun bereits selber hinbekommen. Es soll der Vereinfachung der Eingabe und später auch der Ausgabe dienen.

    Ich habe ja bereits im Excel Forum mehrere Beiträge verfasst und die Excel Datei und Access Datenbank werden später aufeinander aufbauen, also Access zum Sammeln der Daten und Excel zum Auswerten.

    Darum muss ich in Access auch umfangreiche Filterfunktionen einbauen um später die Auswertung genau durchzuführen.

    Eventuell kannst du mir also doch noch erklären, wie ich durch ein Listenfeld meine Datensätze nach einem oder mehreren Kriterien anzeigen lassen kann :-)

    So nun erstmal Feierabend.

    Gruß
     
    revo86, 6. Mai 2008
    #3
  4. revo86 Erfahrener User

    Access und Formulare bzw suchen

    Hey,

    soweit steht die Tabelle und funktioniert auch einwandfrei. Gibt es eine Möglichkeit das Formular zu öffnen, ohne direkt Gefahr zu laufen etwas in der Entwurfsansicht zu öffnen und zu verändern (Sowohl an den Datensätzen, als auch an den Formularen selber?) Die Datensätze sollen nur in einem bestimmten Formularpunkt "Administrator" nachträglich zu verändern sein, und das Formular nur, wenn man es direkt über Access öffnet.

    Ich hoffe mal da gibt es eine Möglichkeit. Nun erstmal genug Dumm gefragt.

    mfg
    Bastian
     
    revo86, 7. Mai 2008
    #4
  5. revo86 Erfahrener User
    Guten Morgen Leute,

    Eine Frage zu Formularen und dem Eingeben des Datums:

    Ich habe ein Textfeld, indem man das Jeweilige Datum zur Anlieferung einträgt. Aus Gründen der Arbeitserleichterung habe ich vor, noch eine Schaltfläche einzubauen, mit der man einen klick macht und sich das "heutige" Datum in das betreffende Textfeld einträgt. Wie ist das zu realisieren?

    Eine andere Möglichkeit wäre, dass sich das aktuelle Datum automatisch beim speichern einträgt, sobald man das Feld frei lässt.

    mfg
    Bastian
     
    revo86, 8. Mai 2008
    #5
  6. miriki Erfahrener User
    Da ich gerade selbst sowas gebastelt habe, hier mal mein Ansatz:

    Ich habe ein Endlos-Formular, in dem Dateinamen aufgelistet werden (PDF-Dokumente), die gescannte Motorakten beinhalten. Durch Filter-Funktionen soll der angezeigte Bereich eingrenzbar sein.

    In dem Formular (siehe Screenshot) gibt es die Buttons "Filter" und "alle", mit denen nach den eingestellten Kriterien gesucht wird bzw. die Suchfelder gelöscht und wieder alle Datensätze angezeigt werden.

    Die Buttons haben dabei folgenden Code:

    Code:
    Private Sub B_Filter_setzen_Click()
        Suchfilter_aufbauen
    End Sub
    
    Private Sub B_Filter_loeschen_Click()
        Me!MotorZylAuswahl.Value = ""
        Me!MotorMuAuswahl.Value = ""
        Me!MotorBauAuswahl.Value = ""
        Me!MotorVarAuswahl.Value = ""
        Suchfilter_aufbauen
    End Sub
    Die xxxAuswahl-Felder sind dabei u.a. die Combo-Boxen am unteren Rand des Formulars. Der eigentliche Aufbau des Suchfilters sieht dann so aus:

    Code:
    Private Sub Suchfilter_aufbauen()
        Dim v(5) As String
        Dim f(5) As String
        Dim s As String
        Dim n As Long
        v(1) = Trim$(Me!MotorNrAuswahl.Value & " "): f(1) = "motornummer"
        v(2) = Trim$(Me!MotorZylAuswahl.Value & " "): f(2) = "motorzyl"
        v(3) = Trim$(Me!MotorMuAuswahl.Value & " "): f(3) = "motormu"
        v(4) = Trim$(Me!MotorBauAuswahl.Value & " "): f(4) = "motorbau"
        v(5) = Trim$(Me!MotorVarAuswahl.Value & " "): f(5) = "motorvar"
        s = ""
        For n = 1 To 5
            If v(n) <> "" Then
                If s <> "" Then
                    s = s & " AND "
                End If
                s = s & "([" & f(n) & "] = '" & v(n) & "')"
            End If
        Next n
        If s <> "" Then
            's = "(" & s & ")"
            DoCmd.ApplyFilter , s
          Else
            DoCmd.ShowAllRecords
        End If
    End Sub
    Eigentlich also ganz simpel: Es werden die einzelnen Suchfelder, sofern belegt, mit einer AND-Verknüpfung in eine WHERE-Klausel zusammengeklebt.

    Da es sich hierbei komplett um alphanumerische Felder handelt, sind die "values" jeweils in ' eingefaßt, was direkt neben dem " vielleicht etwas schwer zu erkennen ist. Bei rein numerischen Feldern entfallen diese ("CASE n" wäre da hilfreich).

    Außerdem: Wenn nach Teilstrings gesucht werden soll (Feld beginnt mit, endet mit, enthält), dann muß "=" mit "LIKE" ersetzt werden und "%"-Zeichen äquivalent zum * in DOS-Dateinamen angefügt werden.

    Beispiel:
    [xxx] LIKE 'abc%'
    Das findet alle Felder, die mit 'abc' anfangen.

    Das Ding ist ausbaufähig, aber das kommt immer auf die die Situation an. Z.B. ist vielleicht nicht AND sondern OR als Verknüpfung notwendig. Aber als Grundgerüst solltest Du damit eigentlich schonmal weiterkommen, oder?

    Gruß, Michael
     
    miriki, 8. Mai 2008
    #6
  7. miriki Erfahrener User
    Button aufs Formular und als Ereignis etwas in der Art:
    Code:
    me!Datumsfeld.Value = Now()
    oder ggf. auch lieber:
    Code:
    me!Datumsfeld.Value = Int(Now())
    (Mit der zweiten Variante wird keine Uhrzeit mit eingetragen, sondern nur das reine Datum.)

    Auch hier gleicher Code, nur beim Formular-Ereignis "BeforeUpdate" (VorAktualisierung). Hier wäre dann ev. noch eine Klammung mit "If IsNull(Me!Datumsfeld.Value) Then" sinnvoll, wenn das Datum nicht bei jedem Speichern aktualisiert werden soll.

    Und als vielleicht einfachste Methode: Setz "=Ganzzahl(Jetzt())" doch einfach als Standard-Wert des Feldes im Formular. ;-)

    Gruß, Michael
     
    miriki, 8. Mai 2008
    #7
  8. miriki Erfahrener User

    Access und Formulare bzw suchen

    Das wiederum ist schon eine reichlich umfangreiche Geschichte, die darauf basiert, daß man dem Anwender das Datenbank-Fenster garnicht erst anzeigt, sondern direkt im Start ein Formular öffnet.

    Von diesem aus muß man dann per Buttons in alle anderen Formulare gelangen können. Mit entsprechenden User-Rechten läßt sich dann das Aufrufen von bestimmten Formularen ganz verhindern oder der Bearbeitungsmodus einstellen.

    Das ist aber alles in allem ein Haufen Arbeit, die dann reingesteckt werden muß. Wenn man das sauber zusammenstellt, bekommt man eine Anwendung, bei der man eigentlich nicht mehr richtig erkennen kann, daß MS-Access dahinter steckt.

    Gruß, Michael
     
    miriki, 8. Mai 2008
    #8
Thema:

Access und Formulare bzw suchen

Die Seite wird geladen...
  1. Access und Formulare bzw suchen - Similar Threads - Access Formulare

  2. 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...
  3. MS Access Formular: Datensatz duplizieren mit Unterformularen

    in Microsoft Access Hilfe
    MS Access Formular: Datensatz duplizieren mit Unterformularen: Hallo Ihr Lieben, ich bin ziemliche Anfängerin bei MS Access also nehmt es mir nicht übel, wenn ich Dinge falsch bezeichne etc. :) Ausganslage Ich hab ein Hauptformular (1) (Angaben zur...
  4. Listenfeld im Endlosformular

    in Microsoft Access Hilfe
    Listenfeld im Endlosformular: Hallo in die Runde! Ich stehe gerade furchtbar auf dem Schlauch und hoffe, ihr könnt mir helfen: Problemkind ist eine Art Zimmerverwaltung: - jedes Zimmer hat eine ID und ist einem Objekt...
  5. MS Access - Formular: Kein Datensatz mit passenden Schlüsselfeldern

    in Microsoft Access Hilfe
    MS Access - Formular: Kein Datensatz mit passenden Schlüsselfeldern: Hey Ihr Lieben, in meinem Formular habe ich ca. 10 Felder zur Dateneingabe. Darunter einige Textfelder. Bei Eingabe wird in meiner z-Tabelle ein neuer Datensatz + neue ID eingefügt und in meiner...
  6. MS Access - Formular - Datensatzherkunft & Datensatzspeicherung

    in Microsoft Access Hilfe
    MS Access - Formular - Datensatzherkunft & Datensatzspeicherung: Hallo Ihr Lieben, mal eine ganz generelle Frage: Ich bastle gerade ein tolles Formular. Über das Steuerelement "Kombinationsfeld" wird man durch den Generator geführt - im ersten Schritt wird...
  7. MS Access Formular - mehrere Datensätze pro Steuerelement hinzufügen?

    in Microsoft Access Hilfe
    MS Access Formular - mehrere Datensätze pro Steuerelement hinzufügen?: Hallo Ihr Lieben, ich bastle gerade ein Formular. Nun such ich nach dem passenden "Steuerelement", dass ich mehrere Daten pro Feld eingeben kann, z.B. getrennt durch ein Semikolon oder ähnliches?...
  8. Vergehensweise beim Anlegen eines DB Projekts

    in Microsoft Access Hilfe
    Vergehensweise beim Anlegen eines DB Projekts: Hallo zusammen, bin neu im Umgang mit Acces und möchte gerne ein DB Projekt mit mehreren Tabellen und Eingabe Formulare anlegen. Wie ist den die Richtige vorgehensweise nach dem Anlegen 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