Toon posts:

[ASP (VBScript)] type mismatch

Pagina: 1
Acties:

Verwijderd

Topicstarter
Wazig, ik heb de volgende code:
code:
1
2
tmp = fnGetProfiel(aResult(PROFIELID, i))
strRendement = tmp(0,0)

en verderop de functie:
code:
1
2
3
4
5
6
7
Function fnGetProfiel(rendement)
  Dim strSQL
    
  strSQL = "select profiel FROM profiel WHERE rendement = " & rendement
        
  fnGetProfiel = fnOpenRecordSet(strSQL)
End Function

en fnOpenRecordSet ziet er als volgt uit:
code:
1
2
3
4
5
6
7
8
9
10
Function fnOpenRecordset(strSql)
  Dim cnn
    
  set cnn = Server.CreateObject("ADODB.Connection")
    
  cnn.Open Application("connection")
  fnOpenRecordset = fnGetRecords(strSQL,cnn)
  cnn.Close
  set cnn = Nothing
End Function

en dan voor de volledigheid fnGetRecords nog eventjes :):
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Function fnGetRecords(strSQL,cnn)
  Dim rs, tmperr
  Set rs = Server.CreateObject("ADODB.RecordSet")
  On Error Resume Next
    
  rs.Open strSQL, cnn 
  tmperr = Err.Number
        
  On Error Goto 0
        
  If tmperr <> 0 Then
    fnGetRecords = 0
    Set rs = Nothing
    Exit Function
  End If
  
  If rs.EOF Then
    fnGetRecords = 0
  Else
    fnGetRecords = rs.GetRows
  End If
  
  rs.Close
  Set rs = Nothing
End Function

De onderste twee functies zijn 100% ok. Het argument doorgegeven aan fnGetProfiel heeft ook een geldige waarde en de query in fnGetProfiel heb ik in Access getest en die doet het.

Nu wil het dat aan strRendement in het bovenste stukje code tmp(0,0) toewijs, ik dan een typemismatch krijg. VarType() op tmp levert code 8204 op, error dus. Maar ik zie niet in wat er nu fout is :?

(IsEmpty() en IsNull() op tmp leveren beiden false op, maar IsArray() daarentegen levert wel True op :?)

  • Gert
  • Registratie: Juni 1999
  • Laatst online: 05-12-2025
tmp is geen array voor zover ik t begrijp.

  • robjanssen
  • Registratie: September 2001
  • Laatst online: 02-08 16:10

robjanssen

Software Developer

Wat is die aResult eigenlijk?
En wat komt daar uit?

Verwijderd

Topicstarter
tmp is geen array voor zover ik t begrijp.
Dat is het gekke, want IsArray zegt dus van wel...
Wat is die aResult eigenlijk?
En wat komt daar uit?
aResult is een tweedimensionale array, met 43 kolommen en een variabel aantal rijen. En de waarde uit de array die hier wordt meegegeven is gevuld uiteraard.

  • Gert
  • Registratie: Juni 1999
  • Laatst online: 05-12-2025
tmp is geen twee dimensionele array, dan. :)

Verwijderd

Topicstarter
Op zaterdag 18 mei 2002 16:56 schreef Gert het volgende:
tmp is geen twee dimensionele array, dan. :)
Jawel, want het is een recordset....

De code die ik van VarType(tmp) terugkrijg is 8204, even gezocht, dat betekent: "array with variant subscripts".

IsArray(tmp) geeft dus True op, maar waarom geeft UBound(tmp) dan een type mismatch :?
Pagina: 1