Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Echtzeiteingabe in eine Tabelle über ein Formular verhindern
Gehe zu Seite 1, 2  Weiter
zurück: Fehler in Formularen "Nicht genügend Speicher" bzw weiter: drucken anhand von Kontrollkästchen Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Bitte Status wählen ! Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Yabee
Gast


Verfasst am:
27. Jul 2005, 16:16
Rufname:

Echtzeiteingabe in eine Tabelle über ein Formular verhindern - Echtzeiteingabe in eine Tabelle über ein Formular verhindern

Nach oben
       

Hallo!
Also ich arbeite noch nicht besonders lang mit Access (2000) und hab auch erst angefangen VBA zu programmieren und habe daher ein Problem:
Ich habe ein Formular mit Textfeldern erstellt (um die Eingaben erfassen zu können), möchte aber nicht, dass diese Eingaben in Echtzeit in die Tabelle geschrieben wird, sondern vorerst nur in den Textfeldern steht.
Erst mit Klick auf den Speichern-Button sollen die Daten als neuer Datensatz in die Tabelle übernommen werden.
Habe jetzt auch schon angefangen über VBA Variablen zu erstellen und die Eingaben in Variablen zu schreiben, aber wie unterbinde ich den "direkten Draht" zur Tabelle?

Außerdem möchte ich das Formular über einen Reset-Button zurücksetzen können! Bisher kommt nämlich immer die Fehlermeldung, da ich ja ohne Bestätigung die Datensätze nicht mehr löschen kann und das ja eigentlich dem zurücksetzen der Texteingabefelder entspricht!

Bin für jeden Tipp dankbar!!

Yabee
faBul0us
Access-Kenner aber VBA-n00b


Verfasst am:
28. Jul 2005, 08:09
Rufname:


AW: Echtzeiteingabe in eine Tabelle über ein Formular verhin - AW: Echtzeiteingabe in eine Tabelle über ein Formular verhin

Nach oben
       

Ich hätte ne Lösung über eine MsgBox:
Code:
Private Sub Form_BeforeUpdate(Cancel As Integer)
    If MsgBox("Wollen Sie den Datensatz wirklich speichern?", vbYesNo) = vbNo Then
        DoCmd.RunCommand acCmdUndo
    End If
End Sub
Wenn du auf den Speichern oder auch ein Verlassen Button klickst müsste er fragen ob du den Datensatz speichern willst!

MFG
Gast



Verfasst am:
28. Jul 2005, 12:50
Rufname:

AW: Echtzeiteingabe in eine Tabelle über ein Formular verhin - AW: Echtzeiteingabe in eine Tabelle über ein Formular verhin

Nach oben
       

Danke vorerst, zwar funktioniert das recht gut, aber ich möchte ja auch noch einen Reset Button einbauen, der alle Felder wieder leert.
Es kommt jedoch immer die Fehlermeldung, dass dieses Feld keinen Nullwert erhalten darf (da ja noch immer eine Direkteingabe in die Tabelle erfolgt und es ja nicht erlaubt ist, die Eingabe aus der Tabelle über das Formular wieder zu löschen!).
Ideal wäre es, wenn bei der Eingabe die Daten nur einmal in den Felder stehen und erst dann, wenn der Speichern Button angeklickt wird in die Tabelle übernommen wird (Erst DANN soll die Tabelle aufgerufen werden!). Ist das überhaupt möglich??

In Visual Basic (ohne Applikation) ist es doch auch so, dass die Daten in den Felder "warten" bis sie weiterverarbeitet werden und man kann die Felder ohne weiteres wieder rücksetzen usw.

Vielen Dank im Voraus,
Yabee
Florus
Access-Nichtversteher


Verfasst am:
28. Jul 2005, 13:14
Rufname:
Wohnort: NÖ / Österreich

So würd es gehen - So würd es gehen

Nach oben
       

Stichwort, Anfügeabfrage:

Mach das Formular ungebunden und dann änder einfach den folgenden Syntax um:
Code:
    sSQL = "INSERT INTO [deinetabelle] ( feld1, feld2, feld3 ) " & _
           "VALUES ([Forms]![deinformular]![deinfeld1]," & _
                   "[Forms]![deinformular]![deinfeld2], " & _
                   "[Forms]![deinformular]![deinfeld3] )"

Liebe Grüße

Florus

_________________
Bitte um F E E D B A C K!

THX
-------------------------------------------------
Gast



Verfasst am:
29. Jul 2005, 09:58
Rufname:


AW: Echtzeiteingabe in eine Tabelle über ein Formular verhin - AW: Echtzeiteingabe in eine Tabelle über ein Formular verhin

Nach oben
       

Gast am 28. Jul 2005 um 15:05 hat folgendes geschrieben:
Danke für den Tip!!! Hab ich jetzt auch gemacht, aber ich hab auch Checkboxes im Formular integriert und die lassen sich dann nicht mehr auf True oder Falsh setzen, weil ja die Datenquelle nicht mehr vorhanden ist. Kann ich sie vorübergehend in Variablen mit dem Datentyp Boolean schreiben? Wenn ja, wie wähle ich das dann aus, damit das funktioniert?

Gast am 29. Jul 2005 um 09:33 hat folgendes geschrieben:
Vorheriges Problem hat sich erledigt: Bearbeitungen zulassen war auf "Nein" gesetzt! Vielen Dank für die Hilfe, muss jetzt aber erst schauen, ob das mit SQL auch funktioniert!
LG Yabee

Funktioniert leider noch nicht! (Bin leider noch ein voller Anfänger und kenn mich bei SQL überhaupt nicht aus!)

Also: Kann ich diesen SQL Code in eine Funktion übernehmen? In meinem Fall: Speichern_Klick (Button)
Florus
Access-Nichtversteher


Verfasst am:
29. Jul 2005, 11:13
Rufname:
Wohnort: NÖ / Österreich

Ja, funktiniert so: - Ja, funktiniert so:

Nach oben
       

Code ist folgender:

Speichern_Klick (Button)
Code:
    Dim sSQL As String
   
    sSQL = "INSERT INTO [deinetabelle] ( feld1, feld2, feld3 ) " & _
               "VALUES ([Forms]![deinformular]![deinfeld1]," & _
                       "[Forms]![deinformular]![deinfeld2], " & _
                       "[Forms]![deinformular]![deinfeld3] )"
    DoCmd.RunSQL sSQL

Liebe Grüße

Florus

_________________
Bitte um F E E D B A C K!

THX
-------------------------------------------------
Gast



Verfasst am:
29. Jul 2005, 12:05
Rufname:

AW: Echtzeiteingabe in eine Tabelle über ein Formular verhin - AW: Echtzeiteingabe in eine Tabelle über ein Formular verhin

Nach oben
       

Funktioniert immer noch nicht: "Syntaxfehler in der INSERT INTO-Anweisung"
Code:
Private Sub Speichern_Click()
    Dim sSQL As String
    sSQL = "INSERT INTO [Leads] ( ProjektNr ) " & _
           "VALUES [Forms]![leads.Form_Leads]![Projektnummer]"
    DoCmd.RunSQL sSQL
End Sub

Tabelle heißt Leads in der Datenbank Leads. Form = Leads Inputfeld = Projektnummer; in der Tabelle heißt die Spalte, in die ich schreiben möchte ProjektNr!

Danke fürs Bemühen bisher!!!
LG
Willi Wipp
Moderator


Verfasst am:
29. Jul 2005, 12:45
Rufname:
Wohnort: Raum Wiesbaden

Re: Echtzeiteingabe in eine Tab über ein Form verhindern - Re: Echtzeiteingabe in eine Tab über ein Form verhindern

Nach oben
       

Hi Yabee,

versuch es mal so
Code:
Private Sub Speichern_Click()
    Dim sSQL As String
   
    sSQL$ = "INSERT INTO [Leads] ( ProjektNr ) " & _
            "VALUES (" & Forms![leads]![Projektnummer] & ")"
' bzw. wenn Pojektnummer von Datentyp Text
'            "VALUES ('" & Forms![leads]![Projektnummer] & "')"
    CurrentDb.Execute sSQL$
End Sub

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)


Zuletzt bearbeitet von Willi Wipp am 03. Aug 2005, 18:33, insgesamt 2-mal bearbeitet
Gast



Verfasst am:
29. Jul 2005, 13:25
Rufname:

AW: Echtzeiteingabe in eine Tabelle über ein Formular verhin - AW: Echtzeiteingabe in eine Tabelle über ein Formular verhin

Nach oben
       

Danke!!! Es funktioniert!!
Aber wie mach ich das jetzt mit allen Eingaben?? Ich habs jetzt echt schon fast alle Möglichkeiten durch, aber da ich den Code irgendwie nicht durchschauen kann, weiß ich auch nicht, was ich weiterkopieren muss und was zum Anweisungsende gehört und so (es sind ziemlich viele ", (, ), & und $ drinnen und ich weiß nicht wozu die sind!).

Weiß, dass ich lästig bin, tut mir auch echt leid, aber ich kenn mich halt wirklich nicht aus. Danke und schönes WE!
Willi Wipp
Moderator


Verfasst am:
29. Jul 2005, 13:54
Rufname:
Wohnort: Raum Wiesbaden

Re: Echtzeiteingabe in eine Ta über ein Form verhindern (II) - Re: Echtzeiteingabe in eine Ta über ein Form verhindern (II)

Nach oben
       

Hi Yabee,

im Prinzip musst Du einen String aufbauen, der einem gueltigen SQL-Code entspricht.
Daher baue ich das auch immer erst als String in iener Variablen auf und uebergeben den dann.
Dann kann man sich die ganze Sache jederzeit im Direktfenster anzeigen lassen und testen.
Zum Beispiel mit je einem zusaetzlichen Feld vom Datentyp Text und Zahl so
Code:
    sSQL$ = "INSERT INTO [Leads] ( ProjektNr, Dein Text, DeineZahl ) " & _
            "VALUES (" & Forms![leads]![Projektnummer] & ", " & _
                   "'" & Forms![leads]![DeinText] & "', " & _
                         Forms![leads]![DeineZahl] & ")"
Das ist halt einer der Nachteile bei ungebundenen Steuerelementen!
_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)


Zuletzt bearbeitet von Willi Wipp am 03. Aug 2005, 18:31, insgesamt einmal bearbeitet
Yabee
Gast


Verfasst am:
01. Aug 2005, 08:23
Rufname:

AW: Echtzeiteingabe in eine Tabelle über ein Formular verhin - AW: Echtzeiteingabe in eine Tabelle über ein Formular verhin

Nach oben
       

Danke für die wie immer so rasche Antwort!

Hab aber folgende Fehlermeldungen: "Erwartet: Ausdruck" oder "Erwartet: Anweisungsende"!

Hier ist der Code, vielleicht könntest du ihn bitte ja gleich ausbessern!
Code:
    sSQL$ = "INSERT INTO [Leads] (ProjektNr, Projektname, Ersteller, " & _
                                 "Datum der Erstellung, Transportmittel, " & _
                                 "Angebotsumfang, Projektbeschreibung, " & _
                                 "Geschäftsbereich, Land, " & _
                                 "Subunternehmer, Generalunternehmer, " & _
                                 "Auftrag, Datum der Auftragserteilung ) " & _
            "VALUES (" & Forms![leads]![ProjektNr] & ", " & _
                    "'" & Forms![leads]![Projektname] & "', " & _
                    "'" & Forms![leads]![Ersteller] & "', " & _
                          Forms![leads]![Datum der Erstellung] & ", " & _
                    "'" & Forms![leads]![Transportmittel] & "', " & _
                    "'" & Forms![leads]![Angebotsumfang] & "', " & _
                    "'" & Forms![leads]![Projektbeschreibung] & "', " & _
                    "'" & Forms![leads]![Geschäftsbereich] & "', " & _
                    "'" & Forms![leads]![Land] & "', " & _
                    "'" & Forms![leads]![Subunternehmer] & "', " & _
                    "'" & Forms![leads]![Generalunternehmer] & "', " & _
                    "'" & Forms![leads]![Auftrag] & "', " & _
                          Forms![leads]![Datum der Auftragserteilung] & ")"

Danke vielmals, liebe Grüße
Yabee
Willi Wipp
Moderator


Verfasst am:
03. Aug 2005, 18:32
Rufname:
Wohnort: Raum Wiesbaden

Re: Echtzeiteing. in eine Tab über ein Form verhindern (III) - Re: Echtzeiteing. in eine Tab über ein Form verhindern (III)

Nach oben
       

Hi Yabee,

immer diese sch... Leerzeichen Wink
Code:
    sSQL$ = "INSERT INTO [Leads] (ProjektNr, Projektname, Ersteller, " & _
                                 "[Datum der Erstellung], " & _
                                 "Transportmittel, " & _
                                 "Angebotsumfang, Projektbeschreibung, " & _
                                 "Geschäftsbereich, Land, " & _
                                 "Subunternehmer, Generalunternehmer, " & _
                                 "Auftrag, " & _
                                 "[Datum der Auftragserteilung] ) " & _
            "VALUES (" & Forms![leads]![ProjektNr] & ", " & _
                    "'" & Forms![leads]![Projektname] & "', " & _
                    "'" & Forms![leads]![Ersteller] & "', " & _
                    "#" & Format$(Forms![leads]![Datum der Erstellung], _
                                                     "mm-dd-yyyy") & "#, " & _
                    "'" & Forms![leads]![Transportmittel] & "', " & _
                    "'" & Forms![leads]![Angebotsumfang] & "', " & _
                    "'" & Forms![leads]![Projektbeschreibung] & "', " & _
                    "'" & Forms![leads]![Geschäftsbereich] & "', " & _
                    "'" & Forms![leads]![Land] & "', " & _
                    "'" & Forms![leads]![Subunternehmer] & "', " & _
                    "'" & Forms![leads]![Generalunternehmer] & "', " & _
                    "'" & Forms![leads]![Auftrag] & "', " & _
                  "#" & Format$(Forms![leads]![Datum der Auftragserteilung], _
                                                     "mm-dd-yyyy") & "#)"

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
Yabee
Gast


Verfasst am:
04. Aug 2005, 08:55
Rufname:

AW: Echtzeiteingabe in eine Tabelle über ein Formular verhin - AW: Echtzeiteingabe in eine Tabelle über ein Formular verhin

Nach oben
       

Doppelposting tut mir leid, dachte aber schon, dieses Thema wird nicht mehr beantwortet...

Also, wie im Doppelposting beschrieben krieg ich jetzt auch bei dem 1. Code, den du mir geschrieben hast die Fehlermeldung "Syntaxfehler in INSERT INTO-Anweisung". Code dazu:
Code:
Private Sub Speichern_Click()
    Dim sSQL As String
   
    sSQL$ = "INSERT INTO [Leads] ( ProjektNr ) " & _
            "VALUES (" & Forms![leads]![Projektnummer] & ")"
' bzw. wenn Pojektnummer von Datentyp Text
'            "VALUES ('" & Forms![leads]![Projektnummer] & "')"
    CurrentDb.Execute sSQL$
End Sub
Es wird mir im Debugger immer die Codezeile CurrentDb.Execute sSQL$ gelb hervorgehoben! Ich versteh das wirklich nicht, weil das schon einmal funktioniert hat!!

Dieser Fehler taucht auch bei dem (für mich) komplexen Code auf, den du für mich als letztes programmiert hast!
Weiters wollt ich noch fragen, ob das Übertragen von Variablen mit Datentyp BOOLE anders zu schreiben ist (nur TRUE und FALSE!), oder gleich wie INTEGER!?

LG Yabee
Willi Wipp
Moderator


Verfasst am:
04. Aug 2005, 11:28
Rufname:
Wohnort: Raum Wiesbaden

Re: Echtzeiteing. in eine Tab über ein Form verhindern (IV) - Re: Echtzeiteing. in eine Tab über ein Form verhindern (IV)

Nach oben
       

Hi Yabee,

OK dann versuchen wir erst noch einmal den ersten Code. Fuege mal ein Debug.Print fuer den SQL-Code ein.
Code:
Private Sub Speichern_Click()
    Dim sSQL As String
   
    sSQL$ = "INSERT INTO [Leads] ( ProjektNr ) " & _
            "VALUES (" & Forms![leads]![Projektnummer] & ")"
' bzw. wenn Pojektnummer von Datentyp Text
'            "VALUES ('" & Forms![leads]![Projektnummer] & "')"
    Debug.Print sSQL$ 'Ausgabe im Direktfenster (Strg+G; Testfenster)
    CurrentDb.Execute sSQL$
End Sub
Dann schau Dir den Code an ob Du einen Fehler siehst. Wenn nicht, kopiere ihn in eine neue (leere) Abfrage.
Wenn das auch nicht hilft, dann poste ihn hier, vielleicht sehen wir was Wink

Bei Boolschen (Ja/Nein) Feldern sollte man True oder False uebergeben, etwa so
Code:
    sSQL$ = sSQL$ & IIf(Me!DeinJaNein, "True", "False") & ", " & _
                    "..."

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
Yabee_
Gast


Verfasst am:
08. Aug 2005, 09:24
Rufname:


AW: Echtzeiteingabe in eine Tabelle über ein Formular verhin - AW: Echtzeiteingabe in eine Tabelle über ein Formular verhin

Nach oben
       

Idea Very Happy Idea

Hallo Willi Wipp!!
Es ist alles nicht mehr notwendig! Ich hab jetzt nach sehr sehr langem Programmierer spielen und langem probieren endlich selbst eine Lösung! Ich habe auch bei Daten mit Typ Zahl und Datum das Hochkomma (') verwendet (also als String übergeben). Und siehe da: Es funktioniert!!

Ohne Hochkomma kommt eben die oben genannt Fehlermeldung ("Fehler in INSERT INTO-Anweisung!"). Versteh ich zwar nicht ganz, jedenfalls funktioniert jetzt einmal alles so, wie ich es mir vorgestellt habe!

Zur kurzen Info: Ich bin Ferialpraktikant in einer Fa. und muss VBA programmieren (hab so viel Zeit, wie ich brauch, es soll nur gemacht sein) und darf nebenbei eben mir einiges aneignen!

Also nochmals danke für die ganzen Bemühungen und für die Geduld (werd mich jetzt mal registrieren, dann ist vieles einfacher!).

Danke, lg Yabee

PS: Glaubst du, könnte es Probleme geben wenn alles als String übergeben wird? Eigenartig, dass es anders nicht funktioniert, oder?
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Gehe zu Seite 1, 2  Weiter
Diese Seite Freunden empfehlen

Seite 1 von 2
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 
Keine neuen Beiträge Access Tabellen & Abfragen: tabelle exportieren 1 Gast 1501 01. Jun 2004, 12:25
Willi Wipp tabelle exportieren
Keine neuen Beiträge Access Tabellen & Abfragen: Duplikate einer Tabelle löschen?! 3 Esel 2108 28. Mai 2004, 08:53
lothi Duplikate einer Tabelle löschen?!
Keine neuen Beiträge Access Tabellen & Abfragen: Spaltennamen einer Tabelle ermitteln 1 Alexander Neron 899 27. Mai 2004, 13:47
lothi Spaltennamen einer Tabelle ermitteln
Keine neuen Beiträge Access Tabellen & Abfragen: mehrere Abfragen in einem Formular zum Auswerten 2 bpointz 1086 27. Mai 2004, 10:39
bpointz mehrere Abfragen in einem Formular zum Auswerten
Keine neuen Beiträge Access Tabellen & Abfragen: kein Wert in der Tabelle, dann immer Null (0)?? 3 Michel_9 1005 26. Mai 2004, 14:28
Michel_9 kein Wert in der Tabelle, dann immer Null (0)??
Keine neuen Beiträge Access Tabellen & Abfragen: Kriterien für Aktualisierungs-Abfrage als Formular 1 Gingi 870 15. Mai 2004, 13:00
borstel Kriterien für Aktualisierungs-Abfrage als Formular
Keine neuen Beiträge Access Tabellen & Abfragen: Operant aus Tabelle in Abfrage verwenden 3 AccessGeek 673 06. Mai 2004, 09:15
lothi Operant aus Tabelle in Abfrage verwenden
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: Tabelle aus Abfrage erstellen 1 dasti 3317 09. Apr 2004, 12:14
Gast Tabelle aus Abfrage erstellen
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: neue Tabellen erstellen aus vorhandener Tabelle 6 moni 2010 29. März 2004, 15:39
moni neue Tabellen erstellen aus vorhandener Tabelle
 

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