<% strSQL = "SELECT * FROM dato ORDER BY dato" 'her kan den hente variabelt antal, derfor laver jeg feltnavnene +1,+2, o.s.v. set rs = conn.execute(strSQL) %> <% x = 1 rs.movefirst Do While NOT rs.EOF %> <tr> <td class="tekst2"> <input type="text" name="dato<%= x %>" size="8" value="<% = rs("dato")%>"> </td> <td> <select name="vagttype<%= x %>" class="tekst5sort"> <option> <option value="dag" class="tekst5rod">dag</option> <option value="aften" class="tekst5rod">aften</option> <option value="nat" class="tekst5rod">nat</option> </select> </td> <% x = x + 1 rs.movenext Loop %> <tr> <td height="50"> </td> <td> </td> <td> </td> <td> <input type="hidden" name="antal" value="<%= x %>"> </td> <td> </td> <td><input type="Submit" value="Indsæt data" name"b1"></td> <td> </td> </tr> </table> </div> </form>
så indsætningsfilen vagtplan_opret_opdat3.asp
<% strantal = request.form("antal") for x = 0 to strantal strSQL = "INSERT INTO vagtplan (dato,vagttype) values('" & request.form("dato" & x)& "', '" & request.form("vagttype" & x)& "')" conn.Execute(strSQL) Next %> den indsætter det den skal - hvis feltet dato er defineret som et tekstfelt, men hvis jeg laver det om til dato og klokkeslæt (som det helst skal være) så kommer følgende fejl
Datatyperne stemmer ikke overens i kriterieudtrykket. vagtplan_opret_opdat3.asp, line 16 som er strSQL ="INSERT .....
?????????????????? nogle der kan give et godt svar på det
Der bliver investeret massivt i AI. Teknologien er mere tilgængelig end nogensinde, og ambitionerne er høje. Alligevel oplever mange virksomheder, at resultaterne udebliver.
den indsætter det den skal - hvis feltet dato i databasen er defineret som et tekstfelt, men hvis jeg laver det om til dato og klokkeslæt (som det helst skal være) så kommer følgende fejl
Datatyperne stemmer ikke overens i kriterieudtrykket. vagtplan_opret_opdat3.asp, line 16 som er strSQL ="INSERT .....
Synes godt om
Slettet bruger
22. november 2003 - 21:15#2
Nu kan jeg ikke se hvilken database du bruger men hvis der er access så skal der # om datoen.
mange tak for svaret, læste lidt om havelågerne i aftes, men var ikke helt klar over hvor de skulle stå, tester eksemplet senere i dag og håber at det virker, og vender tilbage senere.
det er en access database jeg bruger og nu har jeg testet, satte dato kolonnen til dato og klokkeslet og rettede i opdateringsfilen til ...(#" & request.form("dato" & x)& "#, ...., men den kommer ud med følgende fejl
der er en syntaksefejli datoen i forespørgselsudtrykket "##".
men den sætter ind som den skal, men nu sætter den ind med månede-dag-år.
?????
problemerne opstår jo hvis jeg lader kolonnen i db være et tekstfelt - så henter den ikke datoerne ind i den rigtige rækkefølge og det ser jo lidt rodet ud mildest talt.
?????
Synes godt om
Slettet bruger
23. november 2003 - 12:08#6
Det lyder underligt at du får en syntaksfejl hvis det bliver sat ind. Er det den rigtige dato du får sat ind? Bortset fra at det vender om.
Angående dato'er via SQL og Access så skal datoen overføres i US/UK format som er yyyy-mm-dd eller mm-dd-yyyy. Hvis man bruger DK format som er dd-mm-yyyy så vil månede og dag blive byttet.
Derfor skal datoen formateres til yyyy-mm-dd. Man kan ikke ligge en tom dato i med "" eller ## det skal være Null man bruger hvis man vil ligge en tom dato i. Når null bruges skal det være uden #.
Så prøv sådan noget:
strDato = request.form("dato" & x) if strDato = "" then strDato = "Null" else strDato = "#" & Year(strDato) & "-" & month(strDato) & "-" & day(strDato) & "#" end if strSQL = "INSERT INTO vagtplan (dato,vagttype) values(" & strDato & ", '" & request.form("vagttype" & x)& "')"
<% strSQL = "SELECT * FROM dato ORDER BY dato" set rs = conn.execute(strSQL) %> <% x = 0 rs.movefirst Do While NOT rs.EOF %> <tr> <td width="11%" class="tekst2"> <input type="hidden" name="dato<%= x %>" size="8" value="<% = rs("dato")%>"> <% = rs("dato")%>
'og det står som det skal - så det bliver hentet - når jeg så vælger vagttype og opdater, kommer ugedag og vagttype fint ind men ikke datoen
har følgende i opdateringsfilen
<% strDato = request.form("dato" & x) if strDato = "" then strDato = "Null" else strDato = "#" & Year(strDato) & "-" & month(strDato) & "-" & day(strDato) & "#" end if strantal = request.form("antal")
for x = 0 to (strantal)-1 strSQL = "INSERT INTO vagtplan (ugedag,dato,vagttype) values('" & request.form("ugedag" & x) & "'," & strDato & ", '" & request.form("vagttype" & x)& "')" conn.Execute(strSQL) Next
%>
det virker som om der ikke er noget i feltet(troede at jeg havde fået den feltet uden for formen, men nej) - og det er der jo - hvis jeg laver om til tekstfelt i db så skriver den jo fint ind
??????
har leget lidt med det - og den tager ikke det med før end if, hvis jeg så lægger koden således
<% strantal = request.form("antal") for x = 0 to (strantal)-1 strDato = request.form("dato" & x) if strDato = "" then strDato = "Null" else strDato = "#" & Year(strDato) & "-" & month(strDato) & "-" & day(strDato) & "#" end if
så kører det bare derud af (det var måske også sådan du mente jeg skulle gøre, men læste det bare ikke sådan første gang) - mange tak for hjælpen - du er som sædvanlig god til at få en på rette vej - dette har været en hård proces, men har lært godt om array - split og indsæt flere. og du får point.
til bertie
ingen point men også en del kloger ;-))))
Synes godt om
Slettet bruger
23. november 2003 - 21:57#9
Tak for ingenting for at løse dit oprindelige spm. med at datatyperne stemmer ikke overens :-(
Synes godt om
Ny brugerNybegynder
Din løsning...
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.