supernewb: ASP ACCESS UPDATE Befehl - Formulare in Datenbank

Beitrag lesen

hallo nochmal 😀

Das Kopieren und Löschen klappt schonmal, allerdings mit 2 Anweisungen

Nun habe ich nicht bedacht, dass noch 2 weitere Felder in "Verschrottet" befüllt werden sollen, nämlich "Grund der Verschrottung" und "Abgangsdatum". Irgendwie kriege ich das nicht eingebaut :-/

Das hier funktioniert schon einmal gar nicht. Es werden lediglich komplett leere Felder erstellt

MM_editCmd.CommandText = "INSERT INTO Verschrottet (LetzterStandort, Strasse, Art, Bezeichnung, Hersteller, Lieferant, Seriennummer, Tag_Nummer, Neupreis, Anschaffungsdatum, Anschaffungsart, BA_Nummer, Rechnungsnummer, Abgang, Grund, interneNummer, Anlagennummer) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) 

MM_editCmd.Prepared = true
    MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param1", 202, 1, 50, MM_IIF(Request.Form("Standort"), Request.Form("Standort"), null)) ' adVarWChar
    MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param2", 202, 1, 50, MM_IIF(Request.Form("Strasse"), Request.Form("Strasse"), null)) ' adVarWChar
    MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param3", 202, 1, 50, MM_IIF(Request.Form("Art"), Request.Form("Art"), null)) ' adVarWChar
    MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param4", 202, 1, 50, MM_IIF(Request.Form("Bezeichnung"), Request.Form("Bezeichnung"), null)) ' adVarWChar
    MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param5", 202, 1, 50, MM_IIF(Request.Form("Hersteller"), Request.Form("Hersteller"), null)) ' adVarWChar
    MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param6", 202, 1, 50, MM_IIF(Request.Form("Lieferant"), Request.Form("Lieferant"), null)) ' adVarWChar
    MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param7", 202, 1, 50, MM_IIF(Request.Form("Seriennummer"), Request.Form("Seriennummer"), null)) ' adVarWChar
    MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param8", 202, 1, 50, MM_IIF(Request.Form("Tag_Nummer"), Request.Form("Tag_Nummer"), null)) ' adVarWChar
    MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param9", 202, 1, 50, MM_IIF(Request.Form("Neupreis"), Request.Form("Neupreis"), null)) ' adVarWChar
    MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param10", 202, 1, 50, MM_IIF(Request.Form("Anschaffungsdatum"), Request.Form("Anschaffungsdatum"), null)) ' adVarWChar
    MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param11", 202, 1, 50, MM_IIF(Request.Form("Anschaffungsart"), Request.Form("Anschaffungsart"), null)) ' adVarWChar
    MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param12", 202, 1, 50, MM_IIF(Request.Form("BA_Nummer"), Request.Form("BA_Nummer"), null)) ' adVarWChar
    MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param13", 202, 1, 50, MM_IIF(Request.Form("Rechnungsnummer"), Request.Form("Rechnungsnummer"), null)) ' adVarWChar
	MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param14", 202, 1, 50, MM_IIF(Request.Form("Abgang"), Request.Form("Abgang"), null)) ' adVarWChar
	MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param15", 202, 1, 50, MM_IIF(Request.Form("Grund"), Request.Form("Grund"), null)) ' adVarWChar
	MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param16", 202, 1, 50, MM_IIF(Request.Form("interneNummer"), Request.Form("interneNummer"), null)) ' adVarWChar
	MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param17", 202, 1, 50, MM_IIF(Request.Form("Anlagennummer"), Request.Form("Anlagennummer"), null)) ' adVarWChar
	
	MM_editCmd.Execute
    MM_editCmd.ActiveConnection.Close

Die text inputs gibts natürlich, und die sind auch nicht leer

Das Kopieren und Löschen funktioniert so MM_editCmd.CommandText = "INSERT INTO Verschrottet (LetzterStandort, Strasse, Art, Bezeichnung, Hersteller, Lieferant, Seriennummer, Tag_Nummer, Neupreis, Anschaffungsdatum, Anschaffungsart, BA_Nummer, Rechnungsnummer, Abgang, Grund, interneNummer, Anlagennummer) SELECT Standort, Strasse, Art, Bezeichnung, Hersteller, Lieferant, Seriennummer, Tag_Nummer, Neupreis, Anschaffungsdatum, Anschaffungsart, BA_Nummer, Rechnungsnummer, letzteAenderung, Grund, interneNummer, Anlagennummer FROM PC_Technik WHERE ID = " & Session("strID") & " " MM_editCmd2.CommandText = "DELETE FROM PC_Technik WHERE ID = " & Session("strID") & ""

Wenn ich jetzt aber noch einen dritten Befehl erstelle

	' MM_editCmd3.CommandText = "INSERT INTO Verschrottet (Grund, Abgang) VALUES (?, ?) WHERE ID = " & Session("strID") & ""

gakelt der mich voll, dass mir ein Semikolon im editCmd.Execute fehlt ?

PCsverschrotten.asp ID=393|62|80040e14|Fehlendes_Semikolon_(;)_am_Ende_der_SQL-Anweisung.

ohne diese Anweisung erhalte ich den Fehler nicht.

Wie könnte ich jetzt am sinnvollsten noch 2 extra Felder die es in "Verschrottet" gibt, aber in "PC_Technik" nicht, mit übernehmen?