Toon posts:

[SQL/ASP] vraagje

Pagina: 1
Acties:

Verwijderd

Topicstarter
ik heb een probleempje met 2 zoekmogelijkheden die ik aan het bouwen ben.

De eerste mogelijkheid is een zoekoptie binnen alle openstaande calls, d.m.v. 1 zoekterm die zoekt binnen de velden ShortDescription en LongDescription
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
strSQL = "SELECT tblIncident.IncidentID, " _
    & "tblIncident.IncidentDateTime, " _
    & "tblIncident.LongDescription, " _
    & "tblIncident.ShortDescription, " _
    & "tblIncident.PriotityID, " _
    & "tblEmployee.Surname, " _
    & "tblEmployee.Middleinitials, " _
    & "tblEmployee.Lastname FROM tblEmployee " _
    & "INNER JOIN tblIncident ON " _
    & "tblEmployee.EmployeeID = tblIncident.EmployeeID " _
    & "WHERE tblIncident.Active=True " _
    & "AND tblIncident.LongDescription LIKE '%" & strSearchTerm & "%'" _
    & " OR tblIncident.ShortDescription LIKE '%" & strSearchTerm & "%'" _
    & " ORDER BY PriotityID DESC, IncidentDateTime ASC;"
rsResults.Open strSQL, dbConn, adOpenStatic, adLockReadOnly, adCmdText

hier staat dus duidelijk de voorwaarde 'WHERE tblIncident.Active=True' in.

de volgende zoekmogelijkheid is zoeken met 1 zoekterm binnen de gesloten calls.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
strSQL = "SELECT tblIncident.IncidentID, " _
    & "tblIncident.IncidentDateTime, " _
    & "tblIncident.LongDescription, " _
    & "tblIncident.ShortDescription, " _
    & "tblIncident.PriotityID, " _
    & "tblEmployee.Surname, " _
    & "tblEmployee.Middleinitials, " _
    & "tblEmployee.Lastname FROM tblEmployee " _
    & "INNER JOIN tblIncident ON " _
    & "tblEmployee.EmployeeID = tblIncident.EmployeeID " _
    & "WHERE tblIncident.Active=False " _
    & "AND tblIncident.LongDescription LIKE '%" & strSearchTerm & "%'" _
    & " OR tblIncident.ShortDescription LIKE '%" & strSearchTerm & "%'" _
    & " ORDER BY PriotityID DESC, IncidentDateTime ASC;"
rsResults.Open strSQL, dbConn, adOpenStatic, adLockReadOnly, adCmdText

hier staat dan de voorwaarde 'WHERE tblIncident.Active=False' in.

ga ik nu beide zoekopties gebruiken met dezelfde zoekterm, dan krijg ik uit de 1e optie bijv. 3 records, en uit de 2e dezelfde bijv. 10 records maar altijd inclusief de 3 records van de 1e optie. Dit gebeurt elke keer, welke zoekterm ik ook gebruik.

Het lijkt me toch de bedoeling dat er geen overlappende records uit de opties mogen komen.
Ziet iemand wat er fout gaat?

(even voor de duidelijkheid: deze recordsets worden niet op dezelfde pagina's gebruikt)
gr Matthijn

Verwijderd

Topicstarter
ik ben inmiddels achter het antwoord
dus wat mij betreft mag hij wel dicht :)

Verwijderd

Was het de OR in je WHERE clause? 8-)

  • oZy
  • Registratie: Juli 2001
  • Laatst online: 08-07 14:49

oZy

lees de FAQ / Quickstart en post de oplossing die je gevonden hebt.. das wel zo handig voor al die figuren die zo graag naar de search refereren ;)

zou zowiezo iedereen moeten doen door bijv. een samenvatting van wat je geleerd/uitgevoerd hebt in de tijd na het posten van je topic te posten.

Verwijderd

Topicstarter
idd een kwestie van haakjes in de SQL....
na de 'AND' moest een ( en voor de 'ORDER' een )

:)