Avatar billede dhgpower Nybegynder
29. august 2003 - 16:25 Der er 23 kommentarer og
1 løsning

Arguments are of the wrong type

Hej!

Jeg får følgende fejl i min hentning af data fra en Access database:

"Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another."

Det mærkelige er at det er præcis samme script det eneste som er ændret er database placering og string for hvad der skal hentes.

Hvad kan det skyldes?
Avatar billede -mundi- Nybegynder
29. august 2003 - 16:31 #1
response.write sql
response.end

og så copy paste sql'en ind her
Avatar billede dhgpower Nybegynder
29. august 2003 - 16:32 #2
SELECT * from liste where bekraft <> ''
Avatar billede -mundi- Nybegynder
29. august 2003 - 16:33 #3
hvilken type felt er bekraft ? tal eller tekst ?
Avatar billede dhgpower Nybegynder
29. august 2003 - 16:33 #4
Notat så vidt jeg husker
Avatar billede dhgpower Nybegynder
29. august 2003 - 16:34 #5
men skriver jeg >SELECT * from liste< er det samme fejl
Avatar billede -mundi- Nybegynder
29. august 2003 - 16:34 #6
prøv med SELECT * from liste where len(bekraft)>0 den plejer at virke
Avatar billede dhgpower Nybegynder
29. august 2003 - 16:36 #7
Giver samme fejl !!
Avatar billede -mundi- Nybegynder
29. august 2003 - 16:36 #8
kan du lægge databasen et sted hvor man kan kigge på den ?
Avatar billede dhgpower Nybegynder
29. august 2003 - 16:37 #9
-mundi- > nej faktisk ikke lige umiddelbart, du kan bare spørge hvad du vil vide så kan jeg fortælle det - for ved alt om databaser !
Avatar billede keysersoze Guru
29. august 2003 - 16:40 #10
ved alt om databaser? så er det lidt underligt med din kommentar her; "Notat så vidt jeg husker"

enten ER den notat - eller også er den ikke! Det er en vigtig ting at vide for at løse dette prob.
Avatar billede dhgpower Nybegynder
29. august 2003 - 16:41 #11
Ja okai, men det er et notat !

Det giver jo ingen forskel hvilken type det er, fordi den kan jo slet ikke hente ved at sige SELECT * from liste!
Avatar billede -mundi- Nybegynder
29. august 2003 - 16:41 #12
det ser ikke umiddelbart ud til at der er noget galt, du er helt sikker på at det er den ovenstående SQL ? og at det er den rigtige database du arbejder i ?

En fejl kunne være at der er tale om reserverede ord, men jeg kan ikke forestille mig at hverken liste eller bekraft er reserverede, men prøv for en sikkerheds skyld at smide dine tabel samt felt navne ind i [] ...

Og så dobbeltcheck felttypen på det der bekraft felt
Avatar billede -mundi- Nybegynder
29. august 2003 - 16:42 #13
prøv funktioner->databasefunktioner->komprimer og reparer database
Avatar billede dhgpower Nybegynder
29. august 2003 - 16:42 #14
Jamen feltet bekraft er et notat.

Har prøvet at ændre tabelnavnet til tilmeldte men gav heller ik nogen forskel.
Avatar billede dhgpower Nybegynder
29. august 2003 - 16:44 #15
"prøv funktioner->databasefunktioner->komprimer og reparer database"
Hjalp IKKE
Avatar billede dhgpower Nybegynder
29. august 2003 - 16:45 #16
Den skriver at fejlen er i line 80, og det er:
    rs.PageSize = 10
Avatar billede -mundi- Nybegynder
29. august 2003 - 16:45 #17
hvad sker der hvis du laver select * from liste i en forespørgsel i selve access basen ?
Avatar billede -mundi- Nybegynder
29. august 2003 - 16:46 #18
har du lavet dit recordset med set rs=server.createobject("adodb.recordset") eller har du lavet et firehose med set rs=conn.execute ?
Avatar billede keysersoze Guru
29. august 2003 - 16:47 #19
prøv at kom med noget mere af din kode - gerne hele scriptet...
Avatar billede kichian Nybegynder
29. august 2003 - 16:49 #20
Hvis du ændrer den string som bestemmer hvad der skal hentes, virker det så?
Avatar billede dhgpower Nybegynder
29. august 2003 - 16:51 #21
<%
if request("tp") = "on" then
SQLX = "SELECT * from tilmeldte where len(bekraft)>0 "
else
SQLX = "SELECT * from tilmeldte where not bekraft <> ''"
end if


Q = SQLX
Set rs = Server.CreateObject("ADODB.RecordSet")
strSQL = Q
strDSN = pagedb
rs.Open strSQL, strDSN, 1

If Not (rs.BOF Or rs.EOF) Then

    rs.PageSize = 10
    rs.AbsolutePage = intPage
    intRecCount = rs.PageSize
    intPageCount = rs.PageCount

Do While Not rs.EOF And intRecCount > 0

strID = rs("id")
%>
[<a href="mailer.asp?mode=list&tp=<% =request("tp") %>&del=<% =strID %>">DEL</a>] <% =rs("mail") %> (<% =rs("bekraft") %>)<br>
<%
intRecCount = intRecCount - 1
rs.movenext
loop
%>

Side: <% For intNum = 1 To intPageCount %>
<a href="sec1.asp?mode=<% =q_mode %>&page=<% =intNum %>"><% =intNum %></a>
<% Next %>

<%
else
%>
<i>Ingen!</i>
<%
end if
%>
Avatar billede dhgpower Nybegynder
29. august 2003 - 16:52 #22
Og glemte lige:
pagedb = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("../db/mailer.mdb") & ""
Avatar billede dhgpower Nybegynder
29. august 2003 - 16:53 #23
Hov nu ved jeg det....

Har glemt:
intPage = Request("page")
If isNumeric(intPage) = False Or intPage < 1 Then
    intPage = 1
End If


smid et svar så ka i dele :)
Avatar billede -mundi- Nybegynder
29. august 2003 - 16:55 #24
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester