Toon posts:

[ASP/SQL]

Pagina: 1
Acties:

Verwijderd

Topicstarter
code:
1
set recordset=conn.execute("SELECT * FROM bedrijf, inschrijvingen WHERE bedrijf.bedrijf_nummer = inschrijvingen.bedrijf_nummer")


Op de code hier boven, krijg de volgende foutmelding

Error Type:
Microsoft JET Database Engine (0x80004005)
Type mismatch in expression.
/project/test.asp, line 14

Alleen ik snap niet wat er mis mee is. Volgens mij moet die het zo gewoon doen. Alle namen enzo kloppen.

database is trouwens in access.

  • party42
  • Registratie: Oktober 2000
  • Laatst online: 13:32
en wat krijg je als je de SQL string in Acces uitvoert (new query) ?

Everyday's an endless stream, of cigarettes and magazines...


Verwijderd

Topicstarter
het zelf, dus: type mismatch in expression

  • party42
  • Registratie: Oktober 2000
  • Laatst online: 13:32
wellicht is bedrijf.bedrijf_nummer een ander type als inschrijvingen.bedrijf_nummer?

Everyday's an endless stream, of cigarettes and magazines...


  • LordAlderaan
  • Registratie: Oktober 2001
  • Laatst online: 04-11-2021

LordAlderaan

DPC Eclipse

idd check in de DB of bij bijde tabellen (bedrijf en inschrijvingen) het veld 'bedrijf_nummer' hetzelfde is (Waarschijnlijk "Nummeriek")

Als een van de twee niet nummeriek is en de andere wel maar je wilt dit toch niet veranderen gebruik dan de volgende code:

code:
1
set recordset=conn.execute("SELECT * FROM bedrijf, inschrijvingen WHERE CInt([bedrijf].[bedrijf_nummer])=CInt([inschrijvingen].[bedrijf_nummer])")


Ik weet niet zeker of het werkt... maar je kunt het proberen.
Functie CInt() zet variabelen om in integere variabelen als dat mogelijk is en geeft anders de waarde "" terug (geloof ik).

Soort gelijke functies:
CSng()
CDbl()
CCur() (bij Valuta)
CBool() (bij Ja/Nee)
CDate() (bij Datum)
CStr() (bij Tekst)


Quote uit "fpdbform.inc" Frontpage Database class (misschien dat je daar wat meer aan hebt als je het kunt begrijpen):
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    Select Case rs(strDBField).Type
        Case adInteger Or adBigInt Or adUnsignedTinyInt Or adUnsignedSmallInt Or  adUnsignedInt Or adUnsignedBigInt
            rs(strDBField) = CInt(strField)
        Case adSingle Or adDecimal Or adNumeric 
            rs(strDBField) = CSng(strField)
        Case adDouble
            rs(strDBField) = CDbl(strField)
        Case adCurrency
            rs(strDBField) = CCur(strField)
        Case adBoolean
            rs(strDBField) = CBool(strField)
        Case adDate Or adDBDate Or adDBTime or adDBTimeStamp
            rs(strDBField) = CDate(strField)
        Case Else
            rs(strDBField) = CStr(strField)
    End Select

I do not suffer from insanity... I enjoy every minute of it!