webForumDet fria alternativet

Skriva värden till 2 tabeller, med ID från första ?

ASP

20 svar · 544 visningar · startad av CatZ

Medlem sedan jan. 20022 440 inlägg
Frågan#1

Jag har 2 tabeller, ska skriva med 2 olika recordset dvs rs och rs2
Hur får jag ID från första tabellen när jag gör en INSERT ?

Andra delen ser ut såhär:

Set rs2 = Server.CreateObject("ADODB.Recordset")
SQL2 = "INSERT INTO styrelse (Ordf, Sekr, Kass, Valb, Supp, Revi, Leda, UngdOrdf, Ungd, NnID" & _
" VALUES('" & Request.Form("Ordf") & "', " & _
" '" & Request.Form("Sek") & "', " & _
" '" & Request.Form("Kass") & "' " & _
" '" & Request.Form("Valb") & "', " & _
" '" & Request.Form("Supp") & "', " & _
" '" & Request.Form("Revi") & "', " & _
" '" & Request.Form("Leda") & "', " & _
" '" & Request.Form("UngdOrdf") & "', " & _
" '" & Request.Form("Ungd") & "', " & _
" '" & Här ska värdet vara & "')"

Första delen fungerar på samma sätt fast gör en insert i en annan tabell med namn, tele, epost och dylikt

Medlem sedan dec. 200012 464 inlägg
#2

Access?

Set rs2 = connect.execute("select @@identity")
SQL2 = "INSERT INTO styrelse (Ordf, Sekr, Kass, Valb, Supp, Revi, Leda, UngdOrdf, Ungd, NnID" & _
" VALUES('" & Request.Form("Ordf") & "', " & _
" '" & Request.Form("Sek") & "', " & _" '" & Request.Form("Kass") & "' " & _
" '" & Request.Form("Valb") & "', " & _" '" & Request.Form("Supp") & "', " & _
" '" & Request.Form("Revi") & "', " & _" '" & Request.Form("Leda") & "', " & _
" '" & Request.Form("UngdOrdf") & "', " & _
" '" & Request.Form("Ungd") & "', " & rs2(0) & ")"
Medlem sedan jan. 20022 440 inlägg
#3

Japp access

Medlem sedan jan. 20022 440 inlägg
#4

Såhär ser hela koden ut, och den vill inte fungera :(

SQL = "INSERT INTO Namn (NnNamn, NnEfter, NnTelehem, NnTelejobb, NnMobil, NnKlubb, NnEpost, NnLicens, NnDiplomerad, NnMpnID)" &_
" VALUES('" & Request.Form("NnNamn") & "', " & _
" '" & Request.Form("NnEfter") & "', " & _
" '" & Request.Form("NnTelehem") & "', " & _
" '" & Request.Form("NnTelejobb") & "', " & _
" '" & Request.Form("NnMobil") & "', " & _
" '" & Request.Form("NnKlubb") & "', " & _
" '" & Request.Form("NnEpost") & "', " & _
" '" & Request.Form("NnLicens") & "', " & _
" '" & Request.Form("NnDiplomerad") & "', " & _
" " & Request.Form("NnMpnID") & ")"
OBJdbConnection.execute SQL,,128			
Set rs2 = OBJdbConnection.execute("select @@identity")
SQL2 = "INSERT INTO styrelse (Ordf, Sekr, Kass, Valb, Supp, Revi, Leda, UngdOrdf, Ungd, NnID)" & _
" VALUES('" & Request.Form("Ordf") & "', " & _
" '" & Request.Form("Sekr") & "', " & _
" '" & Request.Form("Kass") & "' " & _
" '" & Request.Form("Valb") & "', " & _
" '" & Request.Form("Supp") & "', " & _
" '" & Request.Form("Revi") & "', " & _
" '" & Request.Form("Leda") & "', " & _
" '" & Request.Form("UngdOrdf") & "', " & _
" '" & Request.Form("Ungd") & "', " & _
" " & rs2(0) & ")"
OBJdbConnection.execute SQL2,,128

Vad gör jag för fel? får upp detta felmeddelande:
Feltyp:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Drivrutin för ODBC Microsoft Access] Syntaxfel (operator saknas) i frågeuttrycket ''' '''.
/admin/admin_register.asp, line 147

Är det något i min form eller skriver jag INSERT grejjen tokigt ?

Medlem sedan jan. 20022 440 inlägg
#5

Bara första delen skrivs in i databasen, det är andra delen som blir fel, är det för att jag har checkboxar där och inte anger vad som ska hända ifall den inte är ikryssad ?

Medlem sedan jan. 20022 440 inlägg
#6

Någon som kan ? :)

Medlem sedan mars 20015 287 inlägg
#7

Inte för att jag riktigt vet:
Vilken rad är 47?

SQL = "INSERT INTO Namn (NnNamn, NnEfter, NnTelehem, NnTelejobb, NnMobil, NnKlubb, NnEpost, NnLicens, NnDiplomerad, NnMpnID)" &_
" VALUES('" & Request.Form("NnNamn") & "', " & _
" '" & Request.Form("NnEfter") & "', " & _
" '" & Request.Form("NnTelehem") & "', " & _
" '" & Request.Form("NnTelejobb") & "', " & _
" '" & Request.Form("NnMobil") & "', " & _
" '" & Request.Form("NnKlubb") & "', " & _
" '" & Request.Form("NnEpost") & "', " & _
" '" & Request.Form("NnLicens") & "', " & _
" '" & Request.Form("NnDiplomerad") & "', " & _
" " & Request.Form("NnMpnID") & ")"
'OBJdbConnection.execute SQL,,128			
Set SQL = OBJdbConnection.execute("select @@identity")
SQL2 = "INSERT INTO styrelse (Ordf, Sekr, Kass, Valb, Supp, Revi, Leda, UngdOrdf, Ungd, NnID)" & _
" VALUES('" & Request.Form("Ordf") & "', " & _
" '" & Request.Form("Sekr") & "', " & _
" '" & Request.Form("Kass") & "' " & _
" '" & Request.Form("Valb") & "', " & _
" '" & Request.Form("Supp") & "', " & _
" '" & Request.Form("Revi") & "', " & _
" '" & Request.Form("Leda") & "', " & _
" '" & Request.Form("UngdOrdf") & "', " & _
" '" & Request.Form("Ungd") & "', " & _
" " & SQL(0) & ")"
OBJdbConnection.execute SQL2,,128
Medlem sedan jan. 20022 440 inlägg
#8

Microsoft][Drivrutin för ODBC Microsoft Access] Syntaxfel (operator saknas) i frågeuttrycket ''' '''.
/admin/admin_register.asp, line 146

rad 146 är sista raden: OBJdbConnection.execute SQL2,,128

Jag har massvis med checkboxar för värdena i SQL2
<input type="checkbox" name="Ordf" value="Ordförande">

Men det verkar som om det blir fel på en av dem... eller nåt.. fattar ingenting

Medlem sedan jan. 20022 440 inlägg
#9

Så här ser min form ut:

Del 1 av min form
====================================
<form action="admin_register.asp?cmd=ltps" method="post">
Namn: <input name="NnNamn" type="text">
Efternamn: <input name="NnEfter" type="text">
Diplomerad Kursledare: <input name="NnDiplomerad" type="text" size="3" maxlength="3">
Tele: <input name="NnTelehem" type="text">
Tele till Arbete: <input name="NnTelejobb" type="text">
Mobil: 		<input name="NnMobil" type="text">
Klubb: 		<input name="NnKlubb" type="text">
Epost: 		<input name="NnEpost" type="text">
TL. Licens:	<select name="NnLicens" id="NnLicens">
				<option value="">.: V&auml;lj Licens :.</option>
				<option value="Brons">Brons</option>
				<option value="Silver">Silver</option>
				<option value="Guld">Guld</option>
			</select>
MpnID: <input name="NnMpnID" type="text">

Del 2 av min form
====================================
Orförande:	<input name="Ordf" type="checkbox" value="Ordförande">
Sekreterare: <input name="Sekr" type="checkbox" value="Sekreterare">
Kassör: 	<input name="Kass" type="checkbox" value="Kassör">
Valberedning: <input name="Valb" type="checkbox" value="Valberedning">
Suppleant: 	<input name="Supp" type="checkbox" value="Suppleant">
Revisor: 	<input name="Revi" type="checkbox" value="Revisor">
Ledamot:	<input name="Leda" type="checkbox" value="Ledamot">
Ungdoms Komitté Ordförande: <input name="UngdOrdf" type="checkbox" value="Ungdoms Komitté Ordf.">
Ungdoms Komitté: <input name="Ungd" type="checkbox" value="Ungdoms Komitté">

<input name="" type="submit" class="submit" value="Skicka">
Medlem sedan mars 20015 287 inlägg
#10

Red. svammlar...

Medlem sedan jan. 20022 440 inlägg
#11

mmm men det gör jag oxo.. hehe ska visa felet nu :)

SQL = "INSERT INTO Namn (NnNamn, NnEfter, NnTelehem, NnTelejobb, NnMobil, NnKlubb, NnEpost, NnLicens, NnDiplomerad, NnMpnID)" &_
" VALUES('" & Request.Form("NnNamn") & "', " & _
" '" & Request.Form("NnEfter") & "', " & _
" '" & Request.Form("NnTelehem") & "', " & _
" '" & Request.Form("NnTelejobb") & "', " & _
" '" & Request.Form("NnMobil") & "', " & _
" '" & Request.Form("NnKlubb") & "', " & _
" '" & Request.Form("NnEpost") & "', " & _
" '" & Request.Form("NnLicens") & "', " & _
" '" & Request.Form("NnDiplomerad") & "', " & _
" " & Request.Form("NnMpnID") & ")"
OBJdbConnection.execute SQL,,128			
Set rs2 = OBJdbConnection.execute("select @@identity")
SQL2 = "INSERT INTO styrelse (Ordf, Sekr, Kass, Valb, Supp, Revi, Leda, UngdOrdf, Ungd, NnID)" & _
" VALUES('" & Request.Form("Ordf") & "', " & _
" '" & Request.Form("Sekr") & "', " & _
" '" & Request.Form("Kass") & "'[B][red][3][u] , [/u][/3][/red][/b] " & _
" '" & Request.Form("Valb") & "', " & _
" '" & Request.Form("Supp") & "', " & _
" '" & Request.Form("Revi") & "', " & _
" '" & Request.Form("Leda") & "', " & _
" '" & Request.Form("UngdOrdf") & "', " & _
" '" & Request.Form("Ungd") & "', " & _
" " & rs2(0) & ")"
OBJdbConnection.execute SQL2,,128

Fy fan vad jag älskar stavfel och uteblivna tecken....

Medlem sedan jan. 20022 440 inlägg
#12

skumt eller vad? Ibland funkar det ibland inte... hmm

Medlem sedan jan. 20022 440 inlägg
#13

Det funkar ibland och ibland inte.... jag fattar inte får upp syntax error typ 9 gånger av 10 och 1 gång fungerar det...

Såhär ser koden ut

		SQL = "INSERT INTO Namn (NnNamn, NnEfter, NnTelehem, NnTelejobb, NnMobil, NnKlubb, NnEpost, NnLicens, NnDiplomerad, NnMpnID)" & _
		" VALUES('" & Request.Form("NnNamn") & "', " & _
		" '" & Request.Form("NnEfter") & "', " & _
		" '" & Request.Form("NnTelehem") & "', " & _
		" '" & Request.Form("NnTelejobb") & "', " & _
		" '" & Request.Form("NnMobil") & "', " & _
		" '" & Request.Form("NnKlubb") & "', " & _
		" '" & Request.Form("NnEpost") & "', " & _
		" '" & Request.Form("NnLicens") & "', " & _
		" '" & Request.Form("NnDiplomerad") & "', " & _
		" " & Request.Form("NnMpnID") & ")"
		OBJdbConnection.execute SQL,,128
			Set rs2 = OBJdbConnection.execute("select @@identity")
			SQL2 = "INSERT INTO styrelse (Ordf, Sekr, Kass, Valb, Supp, Revi, Leda, UngdOrdf, Ungd, NnID)" & _
			" VALUES('" & Request.Form("Ordf") & "', " & _
			" '" & Request.Form("Sekr") & "', " & _
			" '" & Request.Form("Kass") & "', " & _
			" '" & Request.Form("Valb") & "', " & _
			" '" & Request.Form("Supp") & "', " & _
			" '" & Request.Form("Revi") & "', " & _
			" '" & Request.Form("Leda") & "', " & _
			" '" & Request.Form("UngdOrdf") & "', " & _
			" '" & Request.Form("Ungd") & "', " & _
			" " & rs2(0) & ")"
			OBJdbConnection.execute SQL2,,128

Det är raden med MpnID som tydligen MÅSTE fyllas i annars funkar det inte :( Fältet är av typen Tal

Medlem sedan jan. 20022 440 inlägg
#14

Jag får väl göra en funktion som talar om att det ska vara 0 om det inte skrivs något då...

Eller låta det vara text kanske är det smidigaste.... ifall det blir slarvfel när användarna skriver in det :)

Medlem sedan mars 20015 287 inlägg
#15

Hur ser det ut i databasen? Är det "tillåt nollängd" i det fältet? (Fast det alternativet finns kanske inte om det är tal iofs...)
Samt Obligatoriskt = nej.

Medlem sedan jan. 20022 440 inlägg
#16

Standarvärde står på 0 men asp sidan försöker skriva in värdet "" dvs ingenting alls och där blir det fel... så får köra det på text.. det blir enklast tror jag :)

Medlem sedan juni 200032 967 inlägg
#17

så får köra det på text.. det blir enklast tror jag

Spara talvärden i textfält? Nej, du. Gör om, gör rätt. ;)

Tal skall sparas som tal. Kontrollera när du bygger ihop SQL-frågan och släng in 0 i stället för tomma strängar.

Mvh,

Medlem sedan feb. 20022 594 inlägg
#18

@nders: Vad ska tal, som inte är heltal, sparas som, då?

(databas: Access) I MySQL, som jag brukar använda, finns det lite fler roliga alternativ än i Access :)

Medlem sedan jan. 20022 440 inlägg
#19

@nders skrev:

Spara talvärden i textfält? Nej, du. Gör om, gör rätt. ;)

Tal skall sparas som tal. Kontrollera när du bygger ihop SQL-frågan och släng in 0 i stället för tomma strängar.

Argh va jobbig du är... men ok då :x

Medlem sedan feb. 20022 594 inlägg
#20

Gissar på att @nders försöker lära dig programmera riktigt.

261 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)