PDA

Vollständige Version anzeigen : speicherbutton in einem formualr erzeugen


janrl
01.03.2001, 13:58
hi

ich möchte einen button in einem formular erstellen, mit dem die eingetragenen werte dann in eine tabelle geschrieben werden
und wenn der button nicht gedrückt wird sollen di werte nicht in die tabelle übertragen werden

das formular wurde auch anhand der tabelle erstellt (mit dem assistent)

kann hier mir einer ein code-beispiel geben

danke

marcohom
01.03.2001, 15:02
Hallo zusammen !
Ist eine gute Frage ! Ich habe bisher immer bei so einem Fall mit einer temporären Tabelle gearbeitet, die genauso aufgebaut ist wie die Haupttabelle und wenn der Button "Speichern" gedrückt wird, wird per Anfügeanfrage die Daten aus der temp. Tab in die Haupttab übertragen und aus der temp. Tab gelöscht. Muß man nur mit dem Primary-Key aufpassen !
Tja, wenn man kein VB-Spezialist ist, muß man sich so helfen !
Bis dann,
Marco

janrl
01.03.2001, 15:23
kannst du das auch noch ein biscgen näher erläutern ??

wie temp.tabelle und wie funktioniert der abgleich zwischen den temp und der original tabelle ??

danke

PeKa
02.03.2001, 07:56
Hey, hier eine von mehreren Möglichkeiten:
vielleicht hilft si dir weiter; Du brauchst zwei Buttons auf deinem Formular; Code siehe unten.

Private Sub cmdAbbrechen_Click()
'mit diesem Button kannst Du entscheiden, ob
'der eingegebene Datzensatz nicht gespeichert werden soll.

If MsgBox("Möchten Sie die Eingabe abbrechen?", vbYesNo) = vbYes Then
Me.Undo
Else
Exit Sub
End If

End Sub

Private Sub cmdSpeichern_Click()
'mit diesem Button kannst Du entscheiden, ob
'der eingegebene Datzensatz gespeichert werden soll.

If Me.Dirty = True Then

DoCmd.Save acForm, "frmKunden"

End If

End Sub

Gruß PeKa

marcohom
02.03.2001, 22:31
Hallo nochmal!

Vergiss das mit der temporären Tabelle. Mit dem Code, den PeKa vorgestellt hat, geht es wirklich viel einfacher. Ich habe Ihn ein wenig verändert, daß man nur noch ein Button "Änderung / Neueingabe speichern" hat.

Private Sub Befehl17_Click()
Dim Antwort
Antwort = MsgBox("Wollen Sie die Eingabe/Änderung speichern ?", vbYesNo, "Speichern")
If Antwort = vbYes Then
If Me.Dirty = True Then
DoCmd.Save acForm, "frmKunden"
End If
Else
Me.Undo
End If
End Sub

Ich glaube, daß Du es auch so schon hinbekommen hast.
Bis dann,
Marco

janrl
03.03.2001, 20:11
ja geht gut bis auf die sache das objekt frmkunden nicht geöffnet ist was ja auch kein wunder ist da ich ja sowas gar nicht habe

die tabelle in die gespeichert werden soll heißt "Branchen"

wenn es weiterhilft

danke schon mal

jan

marcohom
04.03.2001, 11:37
Hi Jan !

Das Formular basiert also auf EINER Tabelle "Branchen". Dann heißt dein Formular wahrscheinlich auch "Branchen". Dann ersetze doch einfach DoCmd.Save acForm, "frmKunden" mit DoCmd.Save acForm, "Branchen". (bzw. setzt den Namen des Formulars dort ein !!!)Das "frmKunden" steht für "formular Kunden" und ist einfach nur ein Beispielname den PeKa und ich verwendet haben ! :-)
Oder hast du noch ein Unterformular drin ?
Schick mir doch einfach die DB und ich ändere Sie Dir, wenn Du willst.
Bis dann,
Marco
P.S.: Bin Student und habe Zeit !

janrl
04.03.2001, 18:17
marco was ist mit deiner email passiert ich kann dich nicht erreichen

irgendwie immer marcohom@yahoo.com und da bist du ja gar nicht hast du vielleicht mit deiner weiterleitung irgenwas vermasselt ??

schikcm ir doch auf jedefall noch mal deine eamil denn ich habe die db vorbereitet und würde auch gerne deine sehen um so der rätselslösung ein bischen näher zu kommen

also dann bis später marco

grüße jan

Thomas71
05.03.2001, 08:28
Hallo und sorry, dass ich mich einfach so einklinke, aber ich hab ein ähnliches Problem:
Das mit dem Button funktioniert schon einwandfrei, aber die Daten vom Formular werden nicht in die entsprechende Tabelle gespeichert. Wahrscheinlich, weil die Daten sich in einem Unterformular mit Hilfe des Formeleditors (ohne VB) berechnet wurden.
Wäre nett, wenn mir jemand weiterhelfen könnte.

Vielen Dank,
Thomas