Ställ villkoren direkt i sql-satsen istället
query="select distinct kontaktid from t where dbfield like '%" & frmSok & "%'"
set rs = conn.execute(query)
if not rs.eof then
' gör något positivt
end if
13 svar · 824 visningar · startad av arro
Jag skapar och lägger till poster i en array med denna loop.
Do Until RecSet.Eof
dbSok = RecSet(dbField)
If inStr(dbSok,frmSok) Then
cntMatch = cInt(cntMatch) + 1
ReDim aMatch(cInt(cntMatch))
aMatch(cInt(cntMatch)) = RecSet("kontaktID")
End If
RecSet.MoveNext
Loop
Sedan vill jag kolla om alla posterna i arrayen har fått samma värde för att kunna skriva ut endast unika poster. Hur gör man?
Ställ villkoren direkt i sql-satsen istället
query="select distinct kontaktid from t where dbfield like '%" & frmSok & "%'"
set rs = conn.execute(query)
if not rs.eof then
' gör något positivt
end if
Jo, men så ville jag inte göra eftersom jag använder recordsetet till andra grejer oxå, där jag inte vill använda DISTINCT.
Gör en nästlad loop och gemmför värdena !
Förlåt, jag är trög... men hur?
Jaha,
function checkDuplicate(m,i)
dim j
for j = 0 to i - 1
if m(j) = m(i) then
checkDuplicate = true
exit function
end if
next
checkDuplicate = false
end function
for i = 0 to ubound(aMatch)
if not checkDuplicate(aMatch,i) then
response.write aMatch(i) & "<br>"
end if
next
Tyvärr så funkar inte det där som jag vill. Säg att arrayen ser ut såhär: aMatch(1,1,1,2,2,3,4,4,5). Då vill jag skriva ut 1, 2, 3, 4 och 5 varsin gång, men inte 1 tre gånger, 2 två gånger osv.
Jaså, jag får ut varje värde bara en gång när jag testkör.
Ok, nu funkar det. Jag var seg som vanligt. Tack som fan!
Vore trevligt om du ville posta den slutgiltiga lösningen. Sitter med exakt samma problem nämligen, emn får inte riktigt ihop era 2 funktioner :P
Jag tror nog att fem år är lite för lång tid för att någon ska ens minnas att man haft problemet...
Så, hur ser din kod ut?
Arrayinnehållet?
Oj sorry! Såg visst inte datumen :P
WordArray = Split(request.Form("chkName"), ", ")
for i = 0 to ubound(WordArray)
response.Write(WordArray(i) & "<br>")
next
Så ser min kod ut. Hämtar värden från CheckBoxar, sparar dessa i en array. Nu vill jag kunna sortera ut dubbletter, utan att använda SQL DISTINCT.
Tack på förhand!
PS Array'en innehåller endast int DS
Funkar det inte om du använder LarsGs kod sisomså:
function checkDuplicate(m,i)
dim j
for j = 0 to i - 1
if m(j) = m(i) then
checkDuplicate = true
exit function
end if
next
checkDuplicate = false
end function
for i = 0 to ubound(WordArray)
if not checkDuplicate(WordArray,i) then
response.write WordArray(i) & "<br>"
end if
next
?
Ahaaa! Säger samma som arro här ovan. Seg som vanligt ;) Tusen tack för hjälpen!