Brug af og, eller, ikke i en søgemaskine
Jeg har en oprettet en Asp-søgemaskine til en Accessdb. På min html-søgeside har jeg 7 søgefelter, mellem hvert af søgefelterne har jeg oprettet en drop-drown boks med muligheden for enten at vælge og, eller, ikke, som skal muliggøre forskellige søgemuligheder - altså enten fælles-, forenings- eller \"differens\"-mængden.Mit problem er nu, hvordan jeg kan gør dette muligt, når fx kun felt 3, 5 og 7 er udfyldt og drop drown boksen udfor felt 3 fx står til \"eller\" og udfor felt 5 står til \"ikke\".
Variablerne Strog1, Strog2 osv. indeholder dropdownboks-værdierne.
Mine select-sætninger ser således ud.
strSQL = \"SELECT * FROM af WHERE\"
If Len(strafond) > 0 Then
strSQL = strSQL & \" (af LIKE \'%\" & straf & \"%\')\"
End if
If Len(strarbet) > 0 Then
If strog1 = \"og\" then
strSQL = strSQL & \" AND (arbet LIKE \'%\" & strarbet & \"%\')\"
End if
If strog1 = \"eller\" then
strSQL = strSQL & \" OR (arbet LIKE \'%\" & strarbet & \"%\')\"
End if
If strog1 = \"ikke\" then
strSQL = strSQL & \" AND (arbet NOT LIKE \'%\" & strarbet & \"%\')\"
End if
End if
If Len(strfodt) > 0 Then
If strog2 = \"og\" then
strSQL = strSQL & \" AND (fodt LIKE \'%\" & strfodt & \"%\')\"
End if
If strog2 = \"eller\" then
strSQL = strSQL & \" OR (fodt LIKE \'%\" & strfodt & \"%\')\"
End if
If strog2 = \"ikke\" then
strSQL = strSQL & \" AND (fodt NOT LIKE \'%\" & strfodt & \"%\')\"
End if
End if
If Len(strdod) > 0 Then
If strog3 = \"og\" then
strSQL = strSQL & \" AND (dod LIKE \'%\" & strdod & \"%\')\"
End if
If strog3 = \"eller\" then
strSQL = strSQL & \" OR (dod LIKE \'%\" & strdod & \"%\')\"
End if
If strog3 = \"ikke\" then
strSQL = strSQL & \" AND (dod NOT LIKE \'%\" & strdod & \"%\')\"
End if
End if
If Len(strsted) > 0 Then
If strog4 = \"og\" then
strSQL = strSQL & \" AND (sted LIKE \'%\" & strsted & \"%\')\"
End if
If strog4 = \"eller\" then
strSQL = strSQL & \" OR (sted LIKE \'%\" & strsted & \"%\')\"
End if
If strog4 = \"ikke\" then
strSQL = strSQL & \" AND (sted NOT LIKE \'%\" & strsted & \"%\')\"
End if
End if
If Len(strindsig) > 0 Then
If strog5 = \"og\" then
strSQL = strSQL & \" AND (indsig LIKE \'%\" & strindsig & \"%\')\"
End if
If strog5 = \"eller\" then
strSQL = strSQL & \" OR (indsig LIKE \'%\" & strindsig & \"%\')\"
End if
If strog5 = \"ikke\" then
strSQL = strSQL & \" AND (indsig NOT LIKE \'%\" & strindsig & \"%\')\"
End if
End if
If Len(strindhold) > 0 Then
If strog6 = \"og\" then
strSQL = strSQL & \" AND (indhold LIKE \'%\" & strindhold & \"%\')\"
End if
If strog6 = \"eller\" then
strSQL = strSQL & \" OR (indhold LIKE \'%\" & strindhold & \"%\')\"
End if
If strog6 = \"ikke\" then
strSQL = strSQL & \" AND (indhold NOT LIKE \'%\" & strindhold & \"%\')\"
End if
End if