Hallå Hej, Varför har du två tabeller? Vad skiljer informationen åt? IF sats med SELECT
Jag vill hämta poster i en tabell som heter prodTb i denna tabell finns en kolumn som heter lins och är en ja/nej post.
nu vill jag skriva en IF sats som hämtar information från en annan tabell om JA är i kryssat i kolumnen lins.
Kan inte förklara riktigt, jag har gjort vad jag tror att det ska vara.
Mvh Christofer
<code>
<%
distance = Request.Form("distance")
width = Request.Form("width")
ratio = distance/width
Set Connect = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("test_db.mdb")
SQL = "SELECT * FROM prodTb WHERE '" & ratio & "' >= lins1 AND '" & ratio & "' <= lins2"
IF rs("lins") THEN
SQL = "SELECT * FROM linsTb WHERE '" & ratio & "' >= ratio1 AND '" & ratio & "' <= ratio2"
END IF
rs.Open SQL, Connect, 1, 2
Do While not rs.EOF
%>
</code>Sv: IF sats med SELECT
Exakt vad Access returnerar för ett Ja/Nej fält vet jag inte, men det bör vara True/False eller "Yes"/"No" eller kanske "Ja"/"Nej" om du har svensk version så din kod bör bli någonting i stil med nedanstående : (har flyttat in rs.Open in i IF-satsen för du vill väl inte köra den om inte villkoret är uppfyllt?)
<code>
' Antingen
' If rs("lins")=True Then
' eller
' If UCase(rs("lins"))="JA" Then
' eller
If UCase(rs("lins"))="YES" Then
SQL = "SELECT * FROM linsTb WHERE '" & ratio & "' >= ratio1 AND '" & ratio & "' <= ratio2"
rs.Open SQL, Connect, 1, 2
Do While not rs.EOF
End If
</code>
/Per HultqvistSv: IF sats med SELECT
Annars har du glömt att öppna ditt första recordset:
<code>
distance = Request.Form("distance")
width = Request.Form("width")
ratio = distance/width
Set Connect = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("test_db.mdb")
SQL = "SELECT * FROM prodTb WHERE '" & ratio & "' >= lins1 AND '" & ratio & "' <= lins2"
rs.Open SQL, Connect, 1, 2
If Not rs.EOF Then
IF rs("lins") THEN
rs.Close
SQL = "SELECT * FROM linsTb WHERE '" & ratio & "' >= ratio1 AND '" & ratio & "' <= ratio2"
rs.Open SQL, Connect, 1, 2
End If
Do Until rs.EOF
rs.MoveNext
Loop
End If
</code>