Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Daten in Formular eingeben und in Tabelle speichern VBA-CODE
zurück: Text und Kombinationsfeld miteinander verknüpfen weiter: Bedingtes Kombifeld Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Antwort Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
hansenm
Gast


Verfasst am:
30. März 2009, 09:53
Rufname:

Daten in Formular eingeben und in Tabelle speichern VBA-CODE - Daten in Formular eingeben und in Tabelle speichern VBA-CODE

Nach oben
       Version: Office 2k (2000)

Hallo Liebes Forum, ich habe ein Formular erstellt und will dort in verschiedene Felder Daten eingeben und diese Daten in der dazugehörigen Tabelle abspeichert.

Dies soll alles über einen VBA- Code laufen, aus bestimmten Gründen, die erst einmal nicht so wichtig sind!

Ich hab nun folgenden Code erstellt:
Code:
Private Sub Befehl67_Click()
    Dim recKontakt As ADODB.Recordset
   
    Set recKontakt = New ADODB.Recordset
    recKontakt.Open "Anfragen", CurrentProject.Connection, adOpenDynamic, _
                     adLockPessimistic
    recKontakt.AddNew
    recKontakt!Datum = Me!Text3
    recKontakt!Vorname = Me!Text13
    recKontakt!Name = Me!Text14
    recKontakt![RM / Niederlassung] = Me!Text15
    recKontakt!Kontaktdaten = Me!Text16
    recKontakt![Grund der Anfrage] = Me!Text17
    recKontakt!Antwort = Me!Text18
    recKontakt!Deal = Me!Text19
    recKontakt!verantwortlich = Me!Text20
    recKontakt![weiter geleitet an] = Me!Text21
    recKontakt![weiter geleitet am] = Me!Text22
    recKontakt![erledigt durch] = Me!Text23
    recKontakt![Kundenantwort am] = Me!Text24
    recKontakt![Kundenantwort durch] = Me!Text25
    recKontakt![via Telefon via Brief] = Me!Text26
    recKontakt!Beschwerde = Me!Text27
    recKontakt![Follow-up] = Me!Text28
    recKontakt![Follow-up erledigt durch] = Me!Text29
    recKontakt.Update
    recKontakt.Close
Die dazugeörige Tabelle ist benannt "Anfragen".
Irgendetwas funktioniert aber noch nicht so ganz. Erkennt jemand den Fehler???

Vielen Dank

Liebe Grüße
KlausMz
Moderator Access


Verfasst am:
30. März 2009, 09:57
Rufname:
Wohnort: Irgendwo in der Pfalz


AW: Daten in Formular eingeben und in Tabelle speichern VBA- - AW: Daten in Formular eingeben und in Tabelle speichern VBA-

Nach oben
       Version: Office 2k (2000)

Hallo,
warum bindest Du das Formular nicht einfach an die Tabelle. Dann brauchst Du keine einzige Zeile VBA. Access kann das von Hause aus vollatomatisch.

Zitat:
Irgendetwas funktioniert aber noch nicht so ganz.
Dann hast Du irgendeinen Fehler drin.
Bitte etwas präziser beschreiben, was nicht funktioniert.

_________________
Gruß
Klaus . . . . . Feedback wäre wünschenswert.
Ich möchte bitte keine unaufgeforderten PN. Fragen bitte im Forum.
hansenm
Gast


Verfasst am:
30. März 2009, 10:00
Rufname:

AW: Daten in Formular eingeben und in Tabelle speichern VBA- - AW: Daten in Formular eingeben und in Tabelle speichern VBA-

Nach oben
       Version: Office 2k (2000)

Das Problem an einem gebundenen Formular ist:

1. In der Tabelle bestehen bereits 105 Datensätze. Bei einem gebundenen Formular beginnt er die Datensätze ab "ID1" zu überschreiben. Das dar schon einmal nicht sein.

2. Stehen immer beim "Neu-öffnen" des Formlares die Daten des vorherigen eingegebenen Datensatzes in den Felder, was wiederrum nicht sein darf.

Um diese zwei Probleme zu umgehen, sollte eine VBA-Code weiterhelfen oder sehe ich das falsch?
Nachtrag: hansenm am 30. März 2009 um 10:03 hat folgendes geschrieben:
Naja, bei diesem VBA-Code werden die Daten noch nciht in der Tabelle abgespeichert :/
KlausMz
Moderator Access


Verfasst am:
30. März 2009, 10:13
Rufname:
Wohnort: Irgendwo in der Pfalz

AW: Daten in Formular eingeben und in Tabelle speichern VBA- - AW: Daten in Formular eingeben und in Tabelle speichern VBA-

Nach oben
       Version: Office 2k (2000)

Hallo,
beide Aussagen sind 100% falsch.
Öffne das Formular mit der Eigenschaft "Daten eingeben" = Ja. Dann wird das Formular mit einem leeren Datensatz geöffnet. Es wird nichts überschrieben.
Ein Einzeiler mit
Code:
    Me.Requery
wechselt wieder zu einem leeren Datensatz, der vorherige Inhalt wird dabei in die Tabelle geschrieben, automatisch. Fertig.
Formular zum Anfügen öffnen:
Code:
    DoCmd.OpenForm "FormularName", , , , acFormAdd

_________________
Gruß
Klaus . . . . . Feedback wäre wünschenswert.
Ich möchte bitte keine unaufgeforderten PN. Fragen bitte im Forum.
hansenm
Gast


Verfasst am:
30. März 2009, 10:21
Rufname:


AW: Daten in Formular eingeben und in Tabelle speichern VBA- - AW: Daten in Formular eingeben und in Tabelle speichern VBA-

Nach oben
       Version: Office 2k (2000)

Hehe, war mir fast klar, dass die "Vermutungen" falsch sind.

Das mit der "Daten eingeben" "ja" habe ich verstanden. Jetzt habe ich nur das Problem, dass die eingegebenen Daten eben nicht die schon vorhandenen überschreiben sollen, was jetzt jedoch noch geschieht.
Die neuen Datensätze sollen erst ab ID105 abgespeichert werden.

Kann man das auch noch irgendwie einstellen?

Vielen Dank schon einmal
KlausMz
Moderator Access


Verfasst am:
30. März 2009, 10:25
Rufname:
Wohnort: Irgendwo in der Pfalz

AW: Daten in Formular eingeben und in Tabelle speichern VBA- - AW: Daten in Formular eingeben und in Tabelle speichern VBA-

Nach oben
       Version: Office 2k (2000)

Hallo,
da wird nichts überschrieben, was soll auch überschrieben werden. Mit Daten eingaben auf Ja wird ein leeres Formulat geöffnet. Der neue Datensatz wird hinten angehängt.
Diese ID, ist das ein Autowert?

_________________
Gruß
Klaus . . . . . Feedback wäre wünschenswert.
Ich möchte bitte keine unaufgeforderten PN. Fragen bitte im Forum.
hansenm
Gast


Verfasst am:
30. März 2009, 10:31
Rufname:

AW: Daten in Formular eingeben und in Tabelle speichern VBA- - AW: Daten in Formular eingeben und in Tabelle speichern VBA-

Nach oben
       Version: Office 2k (2000)

Ja, die ID ist ein Autowert.

Eine Frage hätte ich noch.

Die Daten sollen gespeichert werden, indem man auf einen Button "Anfrage speichern" klickt. Wie müsste das eingestellt werden?

Liebe Grüße
KlausMz
Moderator Access


Verfasst am:
30. März 2009, 10:43
Rufname:
Wohnort: Irgendwo in der Pfalz

AW: Daten in Formular eingeben und in Tabelle speichern VBA- - AW: Daten in Formular eingeben und in Tabelle speichern VBA-

Nach oben
       Version: Office 2k (2000)

Hallo,
Zitat:
Ja, die ID ist ein Autowert.
Dann kannst Du sowieso nicht überschreiben, das lässt Access nicht zu. Ein Autowertfeld lässt keine Bearbeitung zu. Das wird von Access automatisch verhindert.
Du brauchst auch keinen Speicherbutton Access speichert immer ohne Rückfrage. Bzw. wenn Du einen solchen Button erstellst, kommt einfach nur dieses Requery zum Einsatz.
Code:
Private Sub BefehlsButton_Click()
    Me.Requery
End Sub

Der Code wechselt zu einem neuen leeren Datensatz, dabei wird automatisch der vorher angelegte Datensatz gespeichert.

_________________
Gruß
Klaus . . . . . Feedback wäre wünschenswert.
Ich möchte bitte keine unaufgeforderten PN. Fragen bitte im Forum.


Zuletzt bearbeitet von KlausMz am 30. März 2009, 10:50, insgesamt einmal bearbeitet
hansenm
Gast


Verfasst am:
30. März 2009, 10:50
Rufname:

AW: Daten in Formular eingeben und in Tabelle speichern VBA- - AW: Daten in Formular eingeben und in Tabelle speichern VBA-

Nach oben
       Version: Office 2k (2000)

Danke.

Ich kann dir nicht sagen warum, aber er speichert die Daten einfach nicht in der Tabelle ab. Ich hab als Datenherkunft meine Tabelle angegeben.
Zudem habe ich bei "Daten eingeben" "Ja" eingestellt und zum abspeichern durch den Button, den von dir eben geschickten Code eingetragen, mit Abänderung zu:
Code:
Private Sub Befehl67_Click()
    Me.Requery
End Sub
Man muss doch irgendwo drauf klicken, damit gespeichert wird oder?
Der kann doch nicht einfach alles speichern, was mal angetragen wurde. Oder speichert er nur wenn man das Formular schließt?

Naja, bei mir speichert er zur Zeit jedenfalls gar nichts :/

Danke für deine Geduld, super freundlich.
KlausMz
Moderator Access


Verfasst am:
30. März 2009, 10:53
Rufname:
Wohnort: Irgendwo in der Pfalz

AW: Daten in Formular eingeben und in Tabelle speichern VBA- - AW: Daten in Formular eingeben und in Tabelle speichern VBA-

Nach oben
       Version: Office 2k (2000)

Hallo,
Sind in allen Formularfelder die entsprechenden Feldnamen eingetragen (Steuerelelementinhalt) ?

_________________
Gruß
Klaus . . . . . Feedback wäre wünschenswert.
Ich möchte bitte keine unaufgeforderten PN. Fragen bitte im Forum.
hansenm
Gast


Verfasst am:
30. März 2009, 10:57
Rufname:

AW: Daten in Formular eingeben und in Tabelle speichern VBA- - AW: Daten in Formular eingeben und in Tabelle speichern VBA-

Nach oben
       Version: Office 2k (2000)

Ja, habe es gerade noch einmal überprüft!
KlausMz
Moderator Access


Verfasst am:
30. März 2009, 11:11
Rufname:
Wohnort: Irgendwo in der Pfalz

AW: Daten in Formular eingeben und in Tabelle speichern VBA- - AW: Daten in Formular eingeben und in Tabelle speichern VBA-

Nach oben
       Version: Office 2k (2000)

Hallo,
dann muss das gehen.
Erstelle mal ein Formular mit dem Assistenten.

Beispiel anbei.

PS:
Vermeide unbedingt den Feldnamen "Name" besser "Nachname". Name ist ein wichtige reserviertes Wort in Access.

_________________
Gruß
Klaus . . . . . Feedback wäre wünschenswert.
Ich möchte bitte keine unaufgeforderten PN. Fragen bitte im Forum.



TestDB.zip
 Beschreibung:

Download
 Dateiname:  TestDB.zip
 Dateigröße:  9.34 KB
 Heruntergeladen:  126 mal

hansenm
Gast


Verfasst am:
30. März 2009, 11:19
Rufname:

AW: Daten in Formular eingeben und in Tabelle speichern VBA- - AW: Daten in Formular eingeben und in Tabelle speichern VBA-

Nach oben
       Version: Office 2k (2000)

So langsam klappt es. Vielen Vielen Dank.

Ich habe nur noch eine letzte wichtige Frage: Ich habe in der Tabelle bereits 105 vorhandene Datensätze. Jetzt sind in der Tabelle bereits 150 geöffnet, die letzten 45 allerdings leer. Wenn ich jetzt neue Daten ins Formular eintrage, speichert er diese erst ab Datensatz 150. Allerdings ist es unbedingt notwendig. dass die Reihenfolge eingehalten wird. Auch kann ich die letzten 45 leeren Datensätze nicht einfach rauslöschen, da sonst die Reihenfolge der ID beeinflusst wird, was nicht passieren darf, da an diese ein weiterer Wert gebunden ist und die Reihenfolge nicht unterbrochen werden darf.

Gibt es da eine Möglichkeit?

Danke...
KlausMz
Moderator Access


Verfasst am:
30. März 2009, 11:30
Rufname:
Wohnort: Irgendwo in der Pfalz


AW: Daten in Formular eingeben und in Tabelle speichern VBA- - AW: Daten in Formular eingeben und in Tabelle speichern VBA-

Nach oben
       Version: Office 2k (2000)

Hallo,
es ist nicht möglich einen Autowert lückenlos zu führen. Eine Lücke kann man nicht wieder füllen, bzw. nur mit großem Aufwand. Wenn Du eine lückenlose Zahl brauchst, muss diese extra geführt werden. Den Autowert als Primärschlüssel aber lassen.
Suche hier im Forum mal nach "Autowert der Lücken füllt", wobei das auch nicht wirklich ein Autowert ist.

_________________
Gruß
Klaus . . . . . Feedback wäre wünschenswert.
Ich möchte bitte keine unaufgeforderten PN. Fragen bitte im Forum.
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten. Access Tabellen & Abfragen: Mehrmalige Abfrage durch Formular 11 Wickiman 897 03. Mai 2004, 15:23
Willi Wipp Mehrmalige Abfrage durch Formular
Keine neuen Beiträge Access Tabellen & Abfragen: Tabelle formatiert in txt-Datei exportieren 1 robby 1115 12. Apr 2004, 23:10
Helge Tabelle formatiert in txt-Datei exportieren
Keine neuen Beiträge Access Tabellen & Abfragen: Zeilenumbruch nach Einfügen Word Tabelle 2 topflop 1698 30. März 2004, 16:06
Gast Zeilenumbruch nach Einfügen Word Tabelle
Keine neuen Beiträge Access Tabellen & Abfragen: nicht-atomare Daten aus EXCEL importieren 2 Panther 908 29. März 2004, 16:33
Panther nicht-atomare Daten aus EXCEL importieren
Keine neuen Beiträge Access Tabellen & Abfragen: neue Tabellen erstellen aus vorhandener Tabelle 6 moni 2010 29. März 2004, 15:39
moni neue Tabellen erstellen aus vorhandener Tabelle
Keine neuen Beiträge Access Tabellen & Abfragen: datensatz aus mehreren Tabellen im formular anzeigen 1 SixPack 1197 29. März 2004, 10:53
Willi Wipp datensatz aus mehreren Tabellen im formular anzeigen
Keine neuen Beiträge Access Tabellen & Abfragen: Wert einer Abfrage in Tabelle kopieren? 1 BerlinerWolf 2009 21. März 2004, 12:43
Maya Wert einer Abfrage in Tabelle kopieren?
Keine neuen Beiträge Access Tabellen & Abfragen: Speichern beim Schließen nur nach Bestätigung 7 Gast 667 11. März 2004, 16:56
Willi Wipp Speichern beim Schließen nur nach Bestätigung
Keine neuen Beiträge Access Tabellen & Abfragen: Daten als Spaltenüberschriften einer anderen Tabelle 1 Melburnt 685 03. März 2004, 17:11
lothi Daten als Spaltenüberschriften einer anderen Tabelle
Keine neuen Beiträge Access Tabellen & Abfragen: Kombinationsfeld im Formular als Kriterium für eine Abfrage 1 gunderma 2621 03. März 2004, 10:05
tania63 Kombinationsfeld im Formular als Kriterium für eine Abfrage
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage aus Formular erstellen 2 frkrone 3248 12. Feb 2004, 14:22
frkrone Abfrage aus Formular erstellen
Keine neuen Beiträge Access Tabellen & Abfragen: Daten anfügen doppelte Datensätze überschreiben 1 Uli 3838 04. Feb 2004, 14:21
Gerd_ Daten anfügen doppelte Datensätze überschreiben
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Microsoft Word Serienbriefe