Office: (Office 2010) Erfassungsformular

Helfe beim Thema Erfassungsformular in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo liebe Community Ich bin neu hier und möchte aus diesem Grund kurz der Grund meiner Anwesenheit erläutern und was ich eigentlich will (ausser... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von quen_to, 25. Dezember 2013.

  1. Erfassungsformular


    Hallo liebe Community

    Ich bin neu hier und möchte aus diesem Grund kurz der Grund meiner Anwesenheit erläutern und was ich eigentlich will (ausser ewiges Glück) *grins

    Ich arbeite als System Engineer nun schon seit über 10 Jahren. Ich bewege mich hauptsächlich auf Windows-Systemen.

    Nebenbei betreue ich die Informatik eines Kleinbetriebs für Stellenvermittlung. Und für diese Firma möchte ich ein kleines Access-Toolchen schreiben, das im wesentliche folgendes die Kunden- und Mitarbeiterverwaltung erleichtert. Ich habe vor rund 6 Wochen mit Access begonnen und habe in dieser Zeit das Buch von Lorenz Hölschler durchgemacht.

    Ich habe schon einiges selber realisiert, hänge aber jetzt an so kleinen Detailchens fest, die mir das Leben schwer machen. Und deshalb bin ich hier.

    Nun mein Problem: Das Erfassungsformular.

    Ich dreh noch durch. Ich möchte ein Erfassungsformular erstellen, wo ich neuen Mitarbeiter erfassen kann. Soweit so gut, das Formular steht und ich kann damit Mitarbeiter erfassen. Was gar nicht geht: Wenn ich auf den Button "Erfassen" klicke, öffnet sich zwar das Formular, nur mit den Daten von ersten Datensatz drin. Wie erstelle ich ein Formular, dass leer geöffnet wird und nach dem Ausfüllen einen neuen Datensatz erstellt?

    Das Forum habe ich durchsucht, leider aber nichts gefunden. Ich gehe deshalb davon aus, dass dies eigentlich ganz einfach ist... oder?

    Danke und schöne Festtage allen *Smilie

    :)
     
  2. Formulareigenschaften / Reiter Daten / Daten eingeben = Ja
     
    Scorefun, 26. Dezember 2013
    #2
  3. Unglaublich! Exakt das was ich gesucht habe.

    Vielen herzlichen Dank für die schnelle und kompetente Hilfe!!!
     
  4. Erfassungsformular

    Das Erfassungsformular ist nun so gut wie fertig, nur mit dem Button schlage ich mich gerade noch etwas rum

    Ziel: Ein Button einbauen, der bei Aktivierung den Datensatz speichert.

    Lösungsansatz:

    Ich habe hier im Forum einen interessanten Beitrag darüber gefunden. Die Umsetzung klappt bei mir irgendwie nicht so recht.

    http://www.*************************84492_15_0_asc.php

    Habe ich da was falsch verstanden?

    Ich habe in Klasse1 (und Modul1, habe beides gemacht):

    Option Compare Database
    Option Explicit
    Private bolsichern As Boolean

    Code für das Formular:

    Option Compare Database

    Private Sub Detailbereich_Click()
    bolsichern = True
    DoCmd.RunCommand acCmdSaveRecord
    End Sub

    Private Sub Form_AfterUpdate()
    bolsichern = False
    End Sub

    Private Sub Form_BeforeUpdate(Cancel As Integer)
    If Not bolsichern Then
    Me.Undo
    End If
    End Sub

    Dem Button habe eine "bei Klicken" gegeben. Soweit komme ich aber gar nicht. Sobald ich beim Ausfüllen im Formular einen Klick ausserhalb eines Feldes mache, verschwindet die komplette Eingabe. Klicke ich in ein Feld, wird eine neue ID angelegt und ich fange von vorne an. Es wird aber kein Datensatz in der Tabelle abgelegt.

    Ich stehe gerade wie Hans am Berg...

    Danke für jede Hilfe.
     
  5. Habe das erste Problem gelöst. Sollte wohl nicht Detailbereich_Click() heissen sondern %Buttonname%_Click(). Jetzt bleiben zwar die Daten in den Feldern und wenn ich den Button klicke wird das Formular zurückgesetzt. Soweit so gut. Nur leider wird der Record nicht in die Tabelle geschrieben...
     
  6. Moin,
    binde doch das Formular und die Felder einfach an die entsprechende Tabelle (Entwurfsansicht, Reiter Daten, Datenherkunft = Tabellenname bzw. Steuerelementinhalt = Feldname).
    maike
     
  7. Vielen Dank für den Tipp. Ich habe das Formular aus einer Abfrage definiert... kann dies das Problem sein?

    Ich habe zwar den Wert unter Datensatzquelle auf die Tabelle geändert, hat aber nicht funktioniert. Ich versuche mal, ein neues Formular aus einer Tabelle zu generieren. Ich poste das Resultat.

    Herzlichen Dank und einen schönen Abend.
     
  8. Erfassungsformular

    Du kannst das Form auch an eine Abfrage binden, sie muss nur aktualisierbar sein (keine Gruppierungen etc.).
    maike
     
  9. Ich habe jetzt mal versucht, das Form ab einer Tabelle zu erstellen. Auch dort wird der Datensatz nach dem Drücken das Buttons nicht gespeichert oder nicht angezeigt. Das Formular wird aber zurückgesetzt, wenigstens etwas *Smilie

    Nachdem ich das Formular erstellt hatte, konnte ich den Datensatz speichern. Es muss also ein Fehler im Code sein denk ich mal.

    Auf dem Formular unter "Microsoft Access Klassenobjekte" sehe ich diesen Code:

    Option Compare Database

    Private Sub Befehl314_Click()
    bolsichern = True
    DoCmd.RunCommand acCmdSaveRecord
    End Sub

    Private Sub Form_AfterUpdate()
    bolsichern = False
    End Sub

    Private Sub Form_BeforeUpdate(Cancel As Integer)
    If Not bolsichern Then
    Me.Undo
    End If
    End Sub

    und unter Klassenmodule\Klasse 1 diesen Code:

    Option Explicit
    Private bolsichern As Boolean

    Irgendwie finde ich den Fehler nicht. Hat jemand eine Idee?

    Einen schönen Abend und vielen Dank.
     
  10. Ich peils ned.

    Situation:

    Ich kann das Form ausfüllen und auf den Button klicken, der Datensatz wird nun geschrieben. Aber das Formular wird dafür nicht mehr zurückgesetzt (die Felder bleiben auch nach dem Klick auf den Button ausgefüllt).

    Hier nochmals der Code:

    Option Compare Database
    Option Explicit
    Private bolsichern As Boolean

    Private Sub Form_BeforeUpdate(Cancel As Integer)
    If Not bolsichern Then
    Me.Undo
    End If
    End Sub

    Private Sub Befehl402_Click()
    bolsichern = True
    DoCmd.RunCommand acCmdSaveRecord
    End Sub

    Private Sub Form_AfterUpdate()
    bolsichern = False
    End Sub

    Ich glaube, der Fehler liegt im Form_BeforeUpdate-Code. Wenn ich nämlich aus dem "If not" ein "If" mache, werden die Felder zurückgesetzt, aber der Wert nicht in die DB geschrieben. Also wieder genau umgekehrt. AAARGHHHHH

    Ich bin über jede Hilfe dankbar, ich bin mit meinem Latein am Ende.
     
  11. probier mal:

    Code:
    und lass das afterUpdate weg
     
  12. Danke für die Tipps. Leider ist der Zustand der Gleiche, Daten werden in die Tabelle geschrieben aber die Felder im Form werden nicht zurückgesetzt. Ich glaub ich besuch in Kürze mal einen VBA-Kurs!

    Das ist schon korrekt so, dass der ganze Code in einem Fenster steht (siehe Anhang).
     
  13. Erfassungsformular

    Hallo quen_to,

    erstelle mit den Assistenten ein Formular auf Basis deiner Tabelle wie von maikek vorgeschlagen. Stelle in den Eigenschaften des Formulars > Daten eingeben = ja < ein.
    Starte das Formular.
    Es werden die Eingabefelder leer angezeigt und man kann neue Daten eingeben. Nach dem Anklicken auf dem Button neuer DS in der unteren Formularleiste mit den Buttons Vor, Zurück und neuen DS werden die Daten in die Tabelle geschrieben und die Eingabefelder für neue DS frei gemacht.
    Ich hoffe das entspricht deiner Vorstellung.

    Gruß alfikoe
     
  14. Hallo!

    Das Form_BeforeUpdate vestehe ich nicht wirklich.
    Kannst Du den Zweck dieses Events erläutern?
    Wozu eigentlich das Getue mit dem Boolschen Feld.
    Eine Schaltfläche zum Sichern, eine zum Zurücksetzen.
    Wo ist das Problem?

    Übrigens: wenn man mit DoCmd.RunCommand acCmdSaveRecord den Datensatz sichert,
    werden Die Felder im Form **nicht** zurückgesetzt.
    Es sei denn, die Einstellung des Forms lautet "Daten eingeben".

    Wolfgang
     
  15. \@alfikoe, Danke schön, das ist eine alternative Lösung, habs gerade getestet und funzt einwandfrei. So ein Button wäre aber schon eine schöne Sache und wäre ja eigentlich auch nicht schwer zu basteln. Aber irgendwie ist da der Wurm drinne...

    @wb_3001: So wie ich aus dem Beitrag entnommen habe wo dieser Code steht soll dieser nach dem Eintrag in die Datenbank die Felder wieder leeren... so stehts geschrieben und ich bin noch zu wenig Pro um das wirklich zu verstehen... :-) Und ja, Daten eingeben ist auf ja. Gäbe es denn noch einen anderen Befehl um die Daten in die Tabelle zu schreiben?

    Wie gesagt, das Ziel ist das ganze mit einem Button zu realisieren. Wenn der Button gedrückt wird, werden die Daten in die Tabelle geschrieben und die Felder zurückgesetzt resp. das Form neu gestartet, wie auch immer. Der Abbrechen-Button ist auch vorhanden und bringt mich wieder zurück ins Menü.
     
Thema:

Erfassungsformular

Die Seite wird geladen...
  1. Erfassungsformular - Similar Threads - Erfassungsformular

  2. Daten aus Erfassungsformular übergeben

    in Microsoft Access Hilfe
    Daten aus Erfassungsformular übergeben: Hallo zusammen Ich stehe hier vor einem Problem, dass sich bestimmt einfach lösen lässt, aber ich steht total auf dem Schlauch und hab da schon Stunden verbraten. Folgendes: Ich habe eine...
  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