PDA

Vollständige Version anzeigen : INSERT geht nicht!


rawa
09.08.2001, 13:14
Hallo.

Gestern bekam ich hierfür den Code. Einmal lief es, dann nicht mehr. Warum?


Dim TextC2, TextS2, dbs_S
Set dbs_S = CurrentDb
TextC2 = False 'False
TextS2 = True 'True

dbs_S.Execute "INSERT INTO Tabelle_Client (Wahl) VALUES ('" & TextC2 & "');" 'Client?
dbs_S.Execute "INSERT INTO Tabelle_Server (Wahl) VALUES ('" & TextS2 & "');" 'Server?


Der zweite Code für die 2te Einstellungsmöglichkeit.


Dim TextC, TextS, dbs_C
Set dbs_C = CurrentDb
TextC = True 'True
TextS = False 'False

dbs_C.Execute "INSERT INTO Tabelle_Client (Wahl) VALUES ('" & TextC & "');" 'Client?
dbs_C.Execute "INSERT INTO Tabelle_Server (Wahl) VALUES ('" & TextS & "');" 'Server?


Kommen beide vielleicht nicht miteinander aus? Überschneiden die sich irgendwo?

Die Felder in der Tabelle sind eigentlich "Ja/Nein"-Felder, deshalb dieses "True" und "False". Habe es aber auch schon mit "0" und "1" versucht.

Was nu?

Birgit Dannenberg
09.08.2001, 13:29
Was kommt denn für ein Fehler??

Wie sieht die Tabelle aus, Felder, Index??

Wo hast Du den Code eingefügt?

Birgit

rawa
09.08.2001, 13:36
"Fehler": Kein Fehler. Nur kein Ändern der Werte.

"Tabellen": 1 Datensatz. 2 Spalten. Index ist "Art" (also "Server" oder "Client"), Feld ist "Ja/Nein" Feld.

In "Tabelle_Server" ist z.B.: 1 Datensatz, beginnend mit "Server" unter "Art"; "Ja/Nein" ("Wahl") soll hier "Ja" sein. Siehe oben.

"Wo?": Läuft über eine Taste. Da ist noch mehr Code... aber dieser läuft nur nicht (ganz richtig).

Wat nu?

A.S.
09.08.2001, 13:39
Hallo Rawa,

na, wenn der gesamt Code nicht ganz sauber läuft, wie Du sagst, warum sollen die Probleme dann ausgerechnet an diesen beiden Anweisungen hängen? ;)

Poste doch bitte einmal den gesamten Code der hinter dem Button bzw. der Taste hängt.

Gruß

Arno

PS Mann kann keine Probleme beseitigen, wenn man nicht das ganze Problem kennt ;)

Birgit Dannenberg
09.08.2001, 13:42
Der von Dir zitierte Code fügt neue Daten ein. Wenn Du ändern willst, mußt Du Update verwenden und dann auch den Datensatz qualifizieren, den Du ändern willst.

Birgit

P.S. True ist -1 und nicht 1.

A.S.
09.08.2001, 13:45
Desweiteren: In den Tabellen hast Du ein Ja/Nein-Feld definiert und fügst Datensätze an die auf einem Textfeld beruhen (wolltest Du wirklich nur DS anfügen oder auch bestehende ändern?)! Was steht in diesem Feld drin?

rawa
09.08.2001, 13:49
Hier der gesamte Code:

Private Sub Button_Options_Server_Starten_Click()
On Error GoTo Err_Button_Options_Server_Starten_Click

TabellenCheck ("Kunden_Datei_Intern") 'Prüfen ob Datei da, sonst aus "Sicher" erstellen
TabellenCheck_Alt ("Kunden_Datei_Sicher_Alt") 'Ist Alt da?

'*********************
'Rechnerart einstellen
'*********************

DoCmd.Hourglass True 'AN

DoCmd.GoToRecord acDataForm, "Eingang_Options", acFirst 'CLIENT
[RechnerIst] = False 'Ist ein Client?

DoCmd.GoToRecord acDataForm, "Eingang_Options", acLast 'SERVER
[RechnerIst] = True 'Ist ein Server?

'Über SQL

Dim TextC2, TextS2, dbs_S As Database

Set dbs_S = CurrentDb
TextC2 = "0"
dbs_S.Execute "INSERT INTO Tabelle_Client (Wahl) VALUES ('" & TextC2 & "');"

TextS2 = "1"
dbs_S.Execute "INSERT INTO Tabelle_Server (Wahl) VALUES ('" & TextS2 & "');"

'Fertig SQL

DoCmd.Close acForm, "Eingang_Options", acSaveYes

Set dbs_S_2 = Nothing

DoCmd.Hourglass False 'AUS

'************************

DoCmd.OpenForm "Eingang", acNormal, , , acFormPropertySettings, acWindowNormal 'Öffnen des Eingangs

MsgBox "Rechner als SERVER eingestellt!", vbInformation, "Rechnerart"

Exit_Button_Options_Server_Starten_Click:
Exit Sub

Err_Button_Options_Server_Starten_Click:
MsgBox Err.Description
Resume Exit_Button_Options_Server_Starten_Click

End Sub

"Update"... ich schau mal...

erwin
09.08.2001, 13:53
Falsche (Jet-) SQL-Syntax:

entweder (als "fertiger !" String)

...(Wahl) VALUES (-1) ' OHNE Hochkomma !
...(Wahl) VALUES (0) '

oder

...(Wahl) VALUES (True) ' reserv. Wort
...(Wahl) VALUES (False) '

wie du das jetzt mittels Variable löst, kannst du selbst - oder ;)

so long erwin...

rawa
09.08.2001, 14:01
Mir geht es eher darum die Daten zu ÄNDERN, nicht anzufügen. Liegt da der Fehler?

Geht das mit UPDATE? Macht mal ein Bsp. bitte. ;)

rawa
09.08.2001, 14:19
HA! Scheinbar läufts jetzt! DANKE!

Dim dbs_S As Database

Set dbs_S = CurrentDb

dbs_S.Execute "UPDATE Tabelle_Client SET [Wahl] = False;"
dbs_S.Execute "UPDATE Tabelle_Server SET [Wahl] = True;"


Noch mal DANKE für die Tipps! ;)