Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

db.OpenRecordset(sSqlBa, dbOpenDynaset, dbSeeChanges) <----- runtime 13 - tipo dati non corrispondete

194 views
Skip to first unread message

pfmarro

unread,
Aug 26, 2020, 11:37:42 AM8/26/20
to
salve
ho creato una stringa SQL per filtrare un record di una tabella

ha sempre funzionato
ora non capisco perche' se la copio nel debug la stringa SQL e la incollo una ina query la query funziona
da codice mi dà tpye


sSqlBaNAV = "SELECT TabItemGroup.Conformity, [myTable].* " & _
"FROM myTable LEFT JOIN TabItemGroup ON [myTable].NombreProd = TabItemGroup.NombreProd " & _
"WHERE([myTable].IDBa) = " & BaID
Set rsBaNAV = db.OpenRecordset(sSqlBa, dbOpenDynaset, dbSeeChanges) <----- runtime 13 - tipo dati non corrispondete

potete aiutarmi?

ho anche provato a creare una query vera e propria e porvarla da aprire ma lo stesso

Karl Donaubauer

unread,
Aug 26, 2020, 12:16:46 PM8/26/20
to
Salve,

pfmarro:
Sei nuovo qui, ;-) però manca un po' d'informazione:

Di quale tipo di dati sono [myTable].IDBa e BaID?
Cos'è BaID? Variabile, controllo, campo... Come è definito?

È uno sbaglio solo qui nel post che prima usi "sSqlBaNAV" e poi "sSqlBa"?

--
Ciao
Karl
*********
http://AccessDevCon.com
Access FAQ: http://donkarl.com/it

@Alex

unread,
Aug 27, 2020, 1:52:06 AM8/27/20
to
Magari mi sono perso io un pezzo della storia... ma deduco tu abbia un RDBMS come Server e non JET... dal momento che usi [dbSeeChanges]
Per usare questa "opzione" la tabella deve avere un campo IDENTITY

@Alex

pfmarro

unread,
Aug 27, 2020, 2:43:55 AM8/27/20
to
grazie a tutti 2 del messaggio

in effetti sono tabelle SQL collegate a un frontEnd di access
in una maschera singola faccio inserire un valore nella casella di testo BaID

ho sempre eseguito una procedura per recuparare dei dati

sSqlBa = "SELECT TabItemGroup.Conformity, [myTable].* " & _
"FROM myTable LEFT JOIN TabItemGroup ON [myTable].NombreProd = TabItemGroup.NombreProd " & _
"WHERE([myTable].IDBa) = " & BaID
Set rsBaNAV = db.OpenRecordset(sSqlBa, dbOpenDynaset, dbSeeChanges)

ora in debug se mi visualizzo la stringa sSqlBa appena costruita e con una query controllo se funziona
e in effetti non ci sono problemi

ora invace da codice mi dà errore








Ammammata

unread,
Aug 27, 2020, 2:45:36 AM8/27/20
to
Il giorno Wed 26 Aug 2020 05:37:39p, *pfmarro* ha inviato su
it.comp.appl.access il messaggio news:a8d27402-534a-44c9-9b31-
e22104...@googlegroups.com. Vediamo cosa ha scritto:

> "WHERE([myTable].IDBa) = " & BaID
>

qui potrebbero mancare degli apici, ma non dici come sono configurate le
variabili

"WHERE([myTable].IDBa) = '" & BaID & "'"

--
/-\ /\/\ /\/\ /-\ /\/\ /\/\ /-\ T /-\
-=- -=- -=- -=- -=- -=- -=- -=- - -=-
........... [ al lavoro ] ...........

pfmarro

unread,
Aug 27, 2020, 6:12:37 AM8/27/20
to
no grazie dell'interessamento

ecco la stringa che estrapolo del debug e che incollata

SELECT ItemGroup.Conformity, [_pfm].*
FROM _pfmBallotti_NAV_PET AS _pfm LEFT JOIN TabItemGroup AS ItemGroup ON [_pfm].NombreProd = ItemGroup.NombreProd
WHERE ((([_pfm].IDBallotto)=1001901727));

se lancio la query vedo il record
da VBA se

Set rsBaNAV = db.OpenRecordset(sSqlBa, dbOpenDynaset, dbSeeChanges) <----- runtime 13 - tipo dati non corrispondete

potrebbe essere un recordset grande?

oltretutto mi servirebbe anche in sola lettura per popolare delle caselle di testo in base ai valori di campi





@Alex

unread,
Aug 27, 2020, 7:30:16 AM8/27/20
to
...
> no grazie dell'interessamento
>
> ecco la stringa che estrapolo del debug e che incollata
>
> SELECT ItemGroup.Conformity, [_pfm].*
> FROM _pfmBallotti_NAV_PET AS _pfm LEFT JOIN TabItemGroup AS ItemGroup ON [_pfm].NombreProd = ItemGroup.NombreProd
> WHERE ((([_pfm].IDBallotto)=1001901727));
>
> se lancio la query vedo il record
> da VBA se
> Set rsBaNAV = db.OpenRecordset(sSqlBa, dbOpenDynaset, dbSeeChanges) <----- runtime 13 - tipo dati non corrispondete
> potrebbe essere un recordset grande?
>
> oltretutto mi servirebbe anche in sola lettura per popolare delle caselle di testo in base ai valori di campi

Se prendi quel Predicato e lo incolli in QBE, aprendolo cosa dice...?
Se Visualizzi tutto il problema è molto sicuramente nella modalità dbSeeChanges, ed a quel punto ricordo la questione del campo Identity.

@Alex

pfmarro

unread,
Aug 27, 2020, 11:04:22 AM8/27/20
to
se in access creo una query e incollo l'SQL funziona

ho provato a togliere dbseechage ma mi dà lo stesso errore

Ammammata

unread,
Aug 27, 2020, 11:16:11 AM8/27/20
to
Il giorno Thu 27 Aug 2020 12:12:36p, *pfmarro* ha inviato su
it.comp.appl.access il messaggio
news:bcfd08da-e5f2-4d5b...@googlegroups.com. Vediamo
cosa ha scritto:

>> "WHERE([myTable].IDBa) = '" & BaID & "'"

> WHERE ((([_pfm].IDBallotto)=1001901727));
>

mi sono perso

nell'OP c'era [myTable].IDBa)

nel tuo ultimo esempio c'č [_pfm].IDBallotto)

@Alex

unread,
Aug 27, 2020, 11:18:06 AM8/27/20
to
....
> se in access creo una query e incollo l'SQL funziona
>
> ho provato a togliere dbseechage ma mi dà lo stesso errore

Cosa significa "Se in Access"...?

Questo codice dove gira...?
sSqlBaNAV = "SELECT TabItemGroup.Conformity, [myTable].* " & _
"FROM myTable LEFT JOIN TabItemGroup ON [myTable].NombreProd = TabItemGroup.NombreProd " & _
"WHERE([myTable].IDBa) = " & BaID
Set rsBaNAV = db.OpenRecordset(sSqlBa, dbOpenDynaset, dbSeeChanges) <----- runtime 13 - tipo dati non corrispondete

L'oggetto [db] cosa sarebbe...? Se è CurrentDB, allora fare la Query da QBE o in questo modo, togliendo [dbSeeChanges] non deve cambiare NULLA.

Sei ovviamente certo di aver dichiarato in modo ESPLICITO i Recordset come DAO.RecordSet e l'oggetto [db[] come DAO.Database... questo perchè se nei riferimenti hai anche ADO se non curi la priorità di LIB

Insomma quanto denunci appare sempre meno chiaro e sempre più attribuibile a qualche errore di base che non mostri, sicuramente non dipendente da questo codice, escluso sempre il [dbSeeChanges] che è l'unico parametro ragionevolmente di differenza da QBE.

Ti suggerisco di allargare un po lo sguardo sulle dichiarazioni degli Oggetti.

@Alex

pfmarro

unread,
Aug 27, 2020, 12:20:43 PM8/27/20
to
Il giorno giovedì 27 agosto 2020 alle 13:30:16 UTC+2 @Alex ha scritto:
GRAZIE!
in effetti ho invertito i riferimenti ADO e DAO e tutto funziona!!!
GRAZIE
0 new messages