14. november 2008 - 21:12Der er
4 kommentarer og 1 løsning
Første post i Access DB med "fast" Where værdi
Hejsa
Har kigget mig lidt om i håb om hjælp til følgende, men umiddelbart uden held. Jeg ønsker at hente nyeste forekomst i en bestemt tabel i min Access database, hvor ”where” parameteren er foruddefineret. Jeg har forsøgt mig med følgende kode, som tilsyneladende kun virker, hvis værdien i ”maskine” kolonnen kun eksisterer den samme gang i kolonnen. Så snart maskinnummeret er registreret mere end én gang, er den returnerede værd for varenummer feltet tom.
<% dim rs dim cn dim varenummer
set cn = server.CreateObject("Adodb.Connection") set rs = server.CreateObject("Adodb.Recordset")
cn.Open conn rs.open "Select TOP 1 * From opstilling Where maskine=2",cn if not rs.eof then
ordre = rs.fields("ordrenummer")
response.Write(ordre) & "test tekst"
End If rs.close cn.close set rs = nothing set cn = nothing %>
Tabellen opstilling indeholder kolonnerne: id = autonummereret primærnøgle maskine = nummeret på en given maskine (1 til 10) – kan forekomme flere gange vare = et varenummer – kan forekomme flere gange ordrenummer = et ordrenummer – udgangspunktet er at dette er unikt tidspunkt = tidspunktet for opstillingen som langt datoformat DD-MM-ÅÅÅ TT:MM:SEC – i praksis vel unikt
set conn = server.CreateObject("ADODB.Connection") conn.open = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& server.MapPath("db.mdb")
sql = "Select TOP 1 * From opstilling Where maskine=2 ORDER BY id" Set rs = conn.Execute (sql) if not rs.eof then response.Write rs("ordrenummer")& "test tekst"
conn.Close SET conn = NOTHING
' Hvis der er data burde dette hente det ud - er dog ikke helt sikker på dit spørgsmål:)
Jeg har rodet en del rundt med det siden mit første indlæg, og også forsøgt mig med din kode, dog uden held.
Jeg er kommet frem til (sikkert ganske klart for de som ikke er novice som mig i denne boldgade), at min fejl skyldes, at "maskine" kolonnen databasemæssigt er sat op som et tekstfelt. Når jeg retter feltet til at være et numerisk felt, virker både dit og mit forslag.
Grunden til at "maskine" kolonnen i databasen er registreret som et tekstfelt er, at der findes en maskine som benævnes 7A. Det fremgår beklageligvis ikke af mit første indlæg. :-(
Findes der en måde hvor på denne søgning kan baseres på det tekstfelt, som maskinnummeret / navnet er registreret i, i databasen, eller vil måden at løse det på være, at tilføje endnu en kolonne til tabellen, hvor der for hver maskine er registreret en tal værdi? Det vil sige noget i retning af:
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.