13. december 2005 - 13:14Der er
7 kommentarer og 1 løsning
SQL sætning
Jeg har et søgefelt der sender indholdet af nogle formularfelter til en resultatside. På resultatsiden skal udtrækkes alle de post der svarer til søgningen. Problemet er at min SQL-sætning siger at ALLE felter skal være identiske med felterne i databasen - og da det skal være muligt på søgesiden at lade nogle felter stå tomme, duer det jo ikke.
Min SQL-sætning ser således ud:
SELECT * FROM tblIncidentLog WHERE incidentDate LIKE #irDate# AND incidentNo LIKE irNumber AND incidentTime LIKE #irTime# AND InitRptBy LIKE 'irName' AND OffRptBy LIKE 'irOffice' AND IncidentReported LIKE '%irDetails%' AND MonthlyRepType LIKE 'irCategory' AND Status LIKE 'irStatus'
Som man sagde ved Falck: Hurtig hjælp er dobbelt hjælp! :-)
SELECT * FROM tblIncidentLog WHERE incidentDate LIKE #irDate# Or incidentNo LIKE irNumber Or incidentTime LIKE #irTime# Or InitRptBy LIKE 'irName' Or OffRptBy LIKE 'irOffice' Or IncidentReported LIKE '%irDetails%' Or MonthlyRepType LIKE 'irCategory' Or Status LIKE 'irStatus'
Såvidt jeg kan se har du bare udskiftet AND med OR hele vejen igennem. Det bevirker at der findes poster hvor datoen findes i databasen ELLER kategorien findes i databasen. Det skal være sådan at den f.eks. finder alle datoer der har en bestemt kategori. Altså begge kriterier skal være opfyldt.
sql = "SELECT * FROM tblIncidentLog WHERE 1=1 " if request.form("dato") <> "" then sql = sql & " and incidentDate=#"& request.form("dato") &"#" end if if request.form("irOffice") <> "" sql = sql & " and OffRptBy='"& request.form("irOffice") &"'" end if ... set rs = conn.execute(sql)
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.