Når en kunde har afgivet en ordre skal vedkommenes navn-adresse osv gemmes i 'Kunder' det kan jeg godt, men.... Tabellen 'Ordrer skal ligeledes indeholde Kundeid(som er auto-genneret i tabellen kunder)
Jeg har prøvet at oprette en forespørgsel i access, men den bliver totalt uoverskuelig for mig ???
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Du skal hvade det ID nummer som lige er ligt i ud. Prøv med denne metode:
Conn.Open "Provider=MICROSOFT.JET.OLEDB.4.0; " _ & "DATA SOURCE=" & Server.MapPath("somedir\somedb.mdb" 'Indsæt en kunde som i dag SQL = "INSERT INTO someTable (fld1, fld2) VALUES(123,'xyz');" conn.Execute SQL ' do the insert, and then...
'Her er det nye hendt det ID som er lagt i sidst. Set RS = Conn.Execute( "SELECT @@IDENTITY" ) idOfNewlyAddedRecord = RS(0) RS.Close Response.write idOfNewlyAddedRecord
Ja det kommer så an på hvodan din ordrer table ser ud. Eks som det jeg viste føt hvor jeg antager du har en kolonnen KundeID som bliver sat til det ID som kunden lige har fået.
OK, jeg kan få den til at lægge data i tabellen 'Kunder' og i tabellen 'Ordrer' :-) Nu skal Det autogenererede id fra Ordrer' over i 'Ordrelinier' Jeg har prøvet ved at lave samme "nummer" som fra 'Kunder' til 'Ordrer'
Set objRS = Server.CreateObject("ADODB.Recordset") Set objRS.ActiveConnection = objconn SQL1 = "INSERT INTO Ordrelinie (Ordrenr)" SQL1 = SQL1 & " VALUES ('" & idOfNewlyAddedRecords & "')" objRS.Open SQL1
Fejlen jeg får: Microsoft JET Database Engine error '80004005'
The changes you requested to the table were not successful because they would create duplicate values in the index, primary key, or relationship. Change the data in the field or fields that contain duplicate data, remove the index, or redefine the index to permit duplicate entries and try again.
Jo, den er god nok. Det er derfor. Jeg har prøvet med en enkelt post og det virker fint. Men når jeg går ind i '¨design' for 'Ordrelinie' er det så ikke Feltet: Indekseret der skal stå på: |Ja - dubletter tillades| ????? Der er desuden en nøgle ud for 'Ordrenr.
If IsArray(Session("vare")) = false Then Dim vare2(19,4) vare2(1,0) = Request.QueryString("item") 'Vare nr eller anden ID vare2(1,1) = Request.Querystring("size") 'Størrelse vare2(1,2) = Request.QueryString("color") 'Farven vare2(1,3) = Request.QueryString("count") 'Antalet af varen man vil købe vare2(1,4) = Request.QueryString("pris") 'Varens pris Session("vare") = vare2 else vare2=session("vare") incart=false for i=lbound(vare2) to ubound(vare2) if vare2(i,0) = Request.QueryString("item") AND vare2(i,1) = Request.Querystring("size") AND vare2(i,2) = Request.Querystring("color") and not(incart) then 'Opdater Countet vare2(i,3) = vare2(i,3) + CInt(Request.QueryString("count")) 'Antalet af varen man vil købe incart=true end if if vare2(i,0)="" and vare2(i,1)="" and not(incart) then 'Ligger nu vare i kurven vare2(i,0) = Request.QueryString("item") 'Vare nr eller anden ID vare2(i,1) = Request.Querystring("size") 'Størrelse vare2(i,2) = Request.QueryString("color") 'Farven vare2(i,3) = Request.QueryString("count") 'Antalet af varen man vil købe vare2(i,4) = Request.QueryString("pris") 'Varens pris incart=true end if next End if
for i=lbound(vare2) to ubound(vare2) Varenr = vare2(i,0) Size = vare2(i,1) color = vare2(i,2) antal = vare2(i,3) pris = vare2(i,4)
Set objRS = Server.CreateObject("ADODB.Recordset") Set objRS.ActiveConnection = objconn SQL1 = "INSERT INTO Ordrelinie (Ordrenr)" SQL1 = SQL1 & " VALUES ('" & idOfNewlyAddedRecords & "')" objRS.Open SQL1 next
Du skal tjekke hver array index om det indeholder en vare. Hvis den ikke indeholder en vare er den sikkert tom eller "" Så for sætnignen skal udvides i stil med:
for i=lbound(vare2) to ubound(vare2) Varenr = vare2(i,0) Size = vare2(i,1) color = vare2(i,2) antal = vare2(i,3) pris = vare2(i,4)
if (Varenr <> "") AND (Size <> "") AND (color <> "") AND (antal <> "") AND (pris <> "") then Set objRS = Server.CreateObject("ADODB.Recordset") Set objRS.ActiveConnection = objconn SQL1 = "INSERT INTO Ordrelinie (Ordrenr)" SQL1 = SQL1 & " VALUES ('" & idOfNewlyAddedRecords & "')" objRS.Open SQL1 end if next
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.