68 messaggi dal 23 aprile 2001
vorrei creare una tabella usando l'oggetto table di ADOX
passo il nome della tabella, il nome dei campi, il loro tipo ed
eventualmente la dimensione massima del campo (per le stringhe).

faccio un ciclo per aggiungere i campi alla tabella ma ricevo questo errrore:

Errore di run-time di Microsoft VBScript errore "800a000d"

Tipo non corrispondente: 'objTable.Columns.Append'

/dbms/createTable.asp, riga 67

ho provato ad inserire "manualmente" i campi
[sono le righe commentate nel codice qui sotto]
e funziona, ma mi da errore quando faccio l'Append dell'oggetto

ADOX.Tables errore "800a0bb9"

Gli argomenti utilizzati dall'applicazione non sono di tipo valido, non sono compresi nell'intervallo consentito o sono in conflitto.

/dbms/createTable.asp, riga 74


come devo fare? perche' mi da questo errore?

questo e' il mio codice:

<code>
&lt;%
db = session("db")

nomeTable = request("nomeTbl")

Set objADOXDatabase = Server.CreateObject("ADOX.Catalog")
objADOXDatabase.ActiveConnection ="Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & db

Set objTable = Server.CreateObject("ADOX.Table")

tableName = request.form("nomeTbl")

objTable.Name = tableName
for i=1 to 10
colonna=request.form("nome_" & i)
tipo=request.form("tipo_" & i)
dimensione=request.form("size_" & i)
if dimensione&lt;&gt;"" then
objTable.Columns.Append colonna, tipo, dimensione
else
'riga 67
objTable.Columns.Append colonna, tipo
end if
next

'se faccio in questo modo funziona ma mi da errore nella riga 74
'objTable.Columns.Append "id", adInteger
'objTable.Columns.Append "descr", adVarWChar

'la riga 74 e' quella qui sotto
objADOXDatabase.Tables.Append objTable
%&gt;

</code>

grazie a tutti

(¯`·.bucla.·´¯)

Modificato - bucla - 08 Gen 2002 10:48:36

(¯`·.bucla.·´¯)
Azzardo...il VarChar è limitato a 255 caratteri, se il campo descrizione è più grosso devi usare i memo.

---[ www.digiscout.it ]---

"This message was written using 100% recycled electrons"
68 messaggi dal 23 aprile 2001
.. mm.. no.
provandolo gli ho passato dei campi numerici e di testo (varchar - dim 50)
quindi dubito che sia quello il problema

cmq grazie per l'interessamento! ^_^

(¯`·.bucla.·´¯)

(¯`·.bucla.·´¯)
Ma quel campo ID integer è chiave primaria? in caso affermativo non puoi dargli un valore perchè è autoincrementante

---[ www.digiscout.it ]---

"This message was written using 100% recycled electrons"
68 messaggi dal 23 aprile 2001
no. non e' un contatore ne' chiave primaria.
o almeno se lo e' sicuramente non gliel'ho detto io! ^_^

quello che non capisco e' come possa funzionare
scrivendo manualmente i nomi dei campi
(e loro relative proprieta')
e non passando gli stessi identici parametri
tramite delle variabili........ ?

e poi che errore c'e' in
objADOXDatabase.Tables.Append objTable ?
l'ho preso pari pari da un articolo .. ?_?



(¯`·.bucla.·´¯)

(¯`·.bucla.·´¯)

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.