collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 47
  • Punkt Versteckte: 0
  • Punkt Mitglieder: 3
  • Punkt Benutzer Online:

* Forenstatistik

  • stats Mitglieder insgesamt: 13799
  • stats Beiträge insgesamt: 63494
  • stats Themen insgesamt: 8604
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 16
  • stats Am meisten online: 415

Autor Thema: Daten aus einem ungebundenem Formular in eine Tabelle speichern  (Gelesen 177 mal)

Offline Chris777777

  • Newbie
  • Beiträge: 9
Hallo zusammen,

dieses Thema wurde sicherlich schon öfter behandelt, allerdings habe ich beim Durchforsten des Forums nicht die richtige Lösung meines Problems gefunden.

Ich habe ein ungebundenes Formular erstellt und möchte nun, dass die Daten, nachdem auf den Button "Datensatz speichern", geklickt wurde, die eingetragenen Daten in eine Tabelle gespeichert werden.

Mein Formular habe ich angehängt.

Vielen Dank für Eure Hilfe
Gruß,
Chris777777
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 6938
Re: Daten aus einem ungebundenem Formular in eine Tabelle speichern
« Antwort #1 am: Dezember 05, 2017, 11:43:02 »
Hallo,
warum tust Du Dir das an und arbeitest mit einem ungebunden Formular?
Das kann Access mit einem gebunden Formular viel besser.

Welchen Grund siehst Du ungebunden zu arbeiten ?
Gruß
Klaus
 

Offline Chris777777

  • Newbie
  • Beiträge: 9
Re: Daten aus einem ungebundenem Formular in eine Tabelle speichern
« Antwort #2 am: Dezember 05, 2017, 12:04:08 »
Ich bin ein absoluter Anfänger was Access betrifft. Ich dachte, dass ich bei einem ungebundenem Formular das Layout frei gestalten kann und dies bei einem gebundenem Formular nicht geht
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 6938
Re: Daten aus einem ungebundenem Formular in eine Tabelle speichern
« Antwort #3 am: Dezember 05, 2017, 12:19:35 »
Hallo,
Du kannst auch mit einem gebundenen Formular das Layout völlig frei gestalten, ohne Einschränkung.
« Letzte Änderung: Dezember 05, 2017, 12:26:02 von MzKlMu »
Gruß
Klaus
 

Offline Lachtaube

  • Access-Meister
  • ***
  • Beiträge: 851
Re: Daten aus einem ungebundenem Formular in eine Tabelle speichern
« Antwort #4 am: Dezember 05, 2017, 13:50:50 »
Wollte ich mir eine Route bei Google Maps berechnen lassen oder die Wetterdaten für einen Ort bei OpenWeather.com erfahren, ist ein ungebundenes Formular bestimmt für die Eingabe von Parametern geeignet. Um neue Daten in eine definierte Struktur (Tabelle) einzutragen, nutze ich aber lieber ein gebundenes Formular, in dem ich typensicher meine Daten (oft sogar ohne jeden weiteren Code) einpflegen kann. Frei nach dem Motto: soviel Code wie nötig - aber nicht soviel Code wie möglich.

Wäre dem nicht so, hätte Access als GUI für mich keinen Wert und könnte auch durch ein beliebiges anderes Framework ersetzt werden, wo ich meine Datenbankzugriffe dann auch selbst programmieren müsste.
Grüße von der (⌒▽⌒)
 

Offline Chris777777

  • Newbie
  • Beiträge: 9
Re: Daten aus einem ungebundenem Formular in eine Tabelle speichern
« Antwort #5 am: Dezember 05, 2017, 14:18:40 »
ok, danke Euch für Eure Rückmeldungen :)
Das habe ich nun soweit gemacht. Die Einträge werden automatisch gespeichert. Ich möchte trotzdem noch zwei Schaltflächen in das Formular einfügen:
1. "Datensatz speichern": Ich weiß, dass die Einträge auch ohne diesen Button gespeichert werden, aber dieses Formular wird von vielen Leuten ausgefüllt. Daher möchte ich einen sichtbaren Button zur Speicherung einbauen
2. "Anwendung beenden": Damit soll das Formular geschlossen werden, ohne dass bereits eingegebene Daten gespeichert werden. Zusätzlich soll noch ein Fenster aufpoppen mit dem Text "Anwendung wirklich beenden?"

Ist das möglich?
Viele Grüße,
Chris777777
 

Offline Beaker s.a.

  • Access Guru
  • ****
  • Beiträge: 1600
Re: Daten aus einem ungebundenem Formular in eine Tabelle speichern
« Antwort #6 am: Dezember 05, 2017, 16:53:39 »
Hallo Chris,
1. Private Sub cmdSave_Click()
    If Me.Dirty Then Me.Dirty = False
End Sub
2. Private Sub cmdQuit_Click()
    If MsgBox( _
               Prompt:="Anwendung wirklich beenden?", _
               Buttons:=vbYesNo) = vbYes Then
        If Me.Dirty Then Me.Undo
'Form schliessen
        DoCmd.Close acForm, Me.Name
'Programm beenden
        Application.Quit
    End If
End Sub
gruss ekkehard
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.
 

Offline Chris777777

  • Newbie
  • Beiträge: 9
Re: Daten aus einem ungebundenem Formular in eine Tabelle speichern
« Antwort #7 am: Dezember 07, 2017, 14:29:58 »
Etwas verspätet, aber klappt wunderbar. Danke :)

Gruß,
Chris
 

Offline Chris777777

  • Newbie
  • Beiträge: 9
Re: Daten aus einem ungebundenem Formular in eine Tabelle speichern
« Antwort #8 am: Dezember 08, 2017, 15:41:06 »
Hallo zusammen,

ich habe noch ein Problem mit dem Speichern der Daten. Ich hatte ja bereits erwähnt, dass ich gerne einen Button zum speichern habe möchte, auch wenn der Datensatz auch so gespeichert wird. Das ist jetzt aber gerade mein Problem. Ich habe folgenden Code eingegeben:

Private Sub Datensatz_speichern_Click()
If MsgBox( _
           Prompt:="Datensatz speichern?", _
           Buttons:=vbYesNo) = vbYes Then
        If Me.Dirty Then Me.Dirty = False
     End If
DoCmd.GoToRecord acDataForm, "frmWE", acNewRec
End Sub

Das klappt soweit auch alles wunderbar. Allerdings werden alle Datensätze gespeichert. Auch diese, wenn der Benutzer auf "Nein" klickt. Diese Daten sollen jedoch nicht gespeichert werden. Hat jemand eine Lösung dafür?

Viele Grüße,
Chris
 

Offline Beaker s.a.

  • Access Guru
  • ****
  • Beiträge: 1600
Re: Daten aus einem ungebundenem Formular in eine Tabelle speichern
« Antwort #9 am: Dezember 08, 2017, 16:10:26 »
Hallo Chris,
Du musst den Wechsel zu einem neuen Datensatz mit in den True-Part einfügen.

Edit: habe noch eine bessere Variante gefunden
Private Sub Datensatz_speichern_Click()
    If Me.Dirty Then
        If MsgBox( _
                   Prompt:="Datensatz speichern?", _
                   Buttons:=vbYesNo) = vbYes Then
            DoCmd.GoToRecord acDataForm, "frmWE", acNewRec
            'löst das Speichern wieder automatisch aus da Datensatzwechsel
        Else
           Me.Undo
        End If

End Sub
gruss ekkehard
« Letzte Änderung: Dezember 08, 2017, 16:16:17 von Beaker s.a. »
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.
 

Offline Chris777777

  • Newbie
  • Beiträge: 9
Re: Daten aus einem ungebundenem Formular in eine Tabelle speichern
« Antwort #10 am: Dezember 08, 2017, 16:34:11 »
Da erhalte ich nun ich Fehlermeldung:

If-Block ohne End If...
 

Offline Chris777777

  • Newbie
  • Beiträge: 9
Re: Daten aus einem ungebundenem Formular in eine Tabelle speichern
« Antwort #11 am: Dezember 08, 2017, 16:36:32 »
Ahh es fehlte nur ein End If in der Formel.

Der Rest klappt super!

Danke :)

Viele Grüße,
Chris
 

Offline Beaker s.a.

  • Access Guru
  • ****
  • Beiträge: 1600
Re: Daten aus einem ungebundenem Formular in eine Tabelle speichern
« Antwort #12 am: Dezember 08, 2017, 17:02:09 »
Sorry, kann passieren           Me.Undo
        End If
    End If
End Sub
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.
 

Offline Chris777777

  • Newbie
  • Beiträge: 9
Re: Daten aus einem ungebundenem Formular in eine Tabelle speichern
« Antwort #13 am: Dezember 12, 2017, 16:22:12 »
Hallo zusammen,

ich habe nun noch folgendes Problem. Nachdem die Daten in dem Formular gespeichert wurden, soll wieder ein Blanko-Formular erscheinen.
Dafür sollte ja dieser Code: 
DoCmd.GoToRecord acDataForm, "frmWE", acNewRec
verantwortlich sein.
Das klappt auch soweit. Sobald ich das Formular geschlossen habe und wieder öffne, erscheinen die Einträge der letzten Speicherung. Daher habe ich im Ereignisblatt unter "beim Öffnen" nochmal denselben Code eingesetzt. Das klappt soweit auch. Kann man diese beiden Schritte vielleicht auch zusammenfassen?
Sobald ich das Formular öffne, erscheinen unten links die Anzahl der Datensätze. Klicke ich mit den Pfeilen auf vorherige Datensätze, können diese abgeändert werden. Dieses soll unterbunden werden. Sobald ein Datensatz gespeichert wurde, soll dieser nicht mehr abgeändert werden können.
Dafür soll es jedoch möglich sein, einen bereits abgespeicherten Datensatz mit einem Button wieder zu löschen.
Kennt da jemand eine Lösung?
Danke Euch und viele Grüße,
Chris
 

Offline Beaker s.a.

  • Access Guru
  • ****
  • Beiträge: 1600
Re: Daten aus einem ungebundenem Formular in eine Tabelle speichern
« Antwort #14 am: Dezember 12, 2017, 18:00:12 »
Hallo Chris,
Zitat
Sobald ich das Formular geschlossen habe und wieder öffne, erscheinen die Einträge der letzten Speicherung. Daher habe ich im Ereignisblatt unter "beim Öffnen" nochmal denselben Code eingesetzt. Das klappt soweit auch. Kann man diese beiden Schritte vielleicht auch zusammenfassen?
Das habe ich nicht verstanden! Welchen gleichen Code beim Öffnen?
Ging doch ums Speichern.
Zitat
Sobald ein Datensatz gespeichert wurde, soll dieser nicht mehr abgeändert werden können.
Das kannst du beim Ereignis "Beim Anzeigen" (VBA: Form_Current) steuern
Private Sub Form_Current()
    If Not Me.Record Then Me.AllowEdits = False
End Sub
Zitat
einen bereits abgespeicherten Datensatz mit einem Button wieder zu löschen.
Dafür ist die Eigenschaft "Löschen zulassen" (VBA: .AllowDeletions) zuständig
(Standard ist True).

gruss ekkehard
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.