Har en liten fråga om resultatet från denna SQL. Jag söker igenom en kolumn i tblCustomers efter medlemmar som inte finns men det är bara resultatet av varArray(2,i) som resulterar i att posten läggs till i min tmpTabell. Någon som har en idé om vad som kan vara fel? Du kan göra mycket i SQL. ÄR arrayen hämtad från databasen? Om du skickar med mer kod så kan vi ge andra tips på hur du kan utföra jämförelsen. Här är koden. Som den ser ut här så hittar den alla Player1 som inte är medlemmar och lägger dom i tblErrors Hej Uffe, Det jag tycker är lite skumt är att om man tar värdena (player1 och player2) var för sig så fungerar det men när jag lägger ihop dom i samma SQL så slutar den ene att fungera. SQL - Hoppar över?
<code>
'Kollar om medlemmen finns
SQL = "Select CustomerID FROM tblCustomers Where"
SQL = SQL & " (CustomerID = " & varArray(2,i) & " And " & varArray(5,i) & ")"
'Response.Write SQL
'Response.End
Set RS = Conn.Execute(SQL)
</code>Sv: SQL - Hoppar över?
Du måste skriva ett värde efter AND också för att den ska ta den.
SQL = "Select CustomerID FROM tblCustomers Where"
SQL = SQL & " (CustomerID = " & varArray(2,i) & " And Tabell2"= " & varArray(5,i) & ")"
Nu vet inte jag vad VarArray(5,i) innehåller men om det också är medlemsnummer så kanske du kan använda OR istället.
AND kräver ju att båda villkoren stämmer, OR att ett av dem stämmer.
/Anna-KarinSv: SQL - Hoppar över?
Gissar på att man kan jöra en filtrering i första fråga. På så sätt slippa massa anrop från loopen.Sv: SQL - Hoppar över?
<code>
<%
'Kommer från två kolumner i ett excel-dokument, 2 st spelare/bana.
'Båda måste vara medlemmar. OBS! Hämtas med GetRows
Player1 = varArray(2,i)
Player2 = varArray(5,i)
'Här vill jag kolla så att båda spelarna är medlemmar
SQL = "Select CustomerID FROM tblCustomers Where"
'Har provat nästan alla tänkbara möjligheter, men tyvärr inte den rätta
SQL = SQL & " CustomerID = " & Player1
' & '" And CustomerID = " & Player2 & ")"
'Response.Write SQL
'Response.End
Set RS = Conn.Execute(SQL)
If RS.BOF And RS.EOF Then
'Om medlemmarna inte finns
RS.Close
Set RS = Nothing
SQL = "Insert into tblErrors (" &_
"ScheduleID, " &_
"CustomerID_1, " &_
"ResourceID, " &_
"ScheduleDate, " &_
"StartTime, " &_
"EndTime, " &_
"Style, " &_
"CustomerID_2, " &_
"WebInfo) " & _
"VALUES ( "
SQL = SQL & intScheduleID & ", "
SQL = SQL & Player1 & ", "
SQL = SQL & intResourceID & ", "
SQL = SQL & "#" & dDate & "#, "
SQL = SQL & "#" & dStartTime & "#, "
SQL = SQL & "#" & dEndTime & "#, "
SQL = SQL & "'2', "
SQL = SQL & Player2 & ", ")
SQL = SQL & WebInfo(" ~~ ",True,True) & ")"
Conn.Execute(SQL)
Conn.Close
Set Conn = Nothing
else
'Annars läggs tiden till i huvudtabellen
%>
</code>Sv: SQL - Hoppar över?
Prova en SQL-sats liknande denna:
<code>
SELECT Count(tblCustomers.CustomerID) AS CountOfCustomers
FROM tblCustomers Where tblCustomers.CustomerID IN(Player1,Player2);
</code>
Denna ska då returnera 2 om båda spelarna finns med i tabellen.
Är jag på rätt spår ?
Micke MicrosoftSv: SQL - Hoppar över?
Så här ser arrayen ut där värdena kommer ifrån:
<code>
Set Conn=Server.CreateObject("ADODB.Connection")
Conn.open strConn
Set Rst=Conn.Execute("SELECT Bana, Datum, Medlem1, StartTid, SlutTid, Medlem2 FROM [bokningar$]")
varArray = Rst.GetRows()
Rst.Close
Set Rst = Nothing
Conn.Close
Set Conn = Nothing
For i = 0 TO UBound(varArray,2) -1
'Här ligger koden
Next
</code>