Newsgroup: it.comp.lang.visual-basic
Titolo: DAO - ADO e XP

Ciao ragà....
Ho un grosso problema....
Scrissi un prg con VB6 Che lavorava su win 98, e che si collegava ad alcuni
database tramite ADO, DAO.
Oggi questo prg, non vuole funzionare su WIN  XP.
Relativamente a DAO, e grazie anche all'aiuto di qualcuno che mi ha già
risposto, ho risolto il problema reinstallando completamente DAO.
Adesso, quando il PC utilizza le routine con ADO, e tenta di scrivere un
record, mi da l' errore che il campo è troppo piccolo per aggiungere la
quantità di dati desiderata.
Il DB dove bisogna scrivere. è di access 97.
Ripeto su win 98, il prg gira perfettamente.
Vi basta una dritta darmi una dritta per guadagnarvi un posto in Paradiso.

 Vi basta una dritta darmi una dritta per guadagnarvi un posto in Paradiso.
Su XP non c'è JET. Lo devi installare a parte.
Ciao
Alberto dal Paradiso.

 aggiungere la quantità di dati desiderata.
Se il senso dell'errore è questo, dubito che ADO ti possa dare segnalazioni
di significato diverso da DAO.

 Puoi essere + esplicito ?
Intendevo dire che l'errore che hai indicato (il suo senso, non
necessariamente il codice) te lo deve dare sia DAO che ADO.

 Ciao ragà....
vedo prevedo stravedo
...no la palla di cristallo non mi dice niente!
Controlla bene...
MA
se il vecchio va e il nuovo no...
SI POTREBBE IPOTIZZARE
A) Hai cambiato qualcosa nelle tabelle? (text al posto di memo?)(lunghezza a
50 caratteri?)
B) Ma lo validi l'input?
E' COSA BUONA E GIUSTA!!!
se il campo si aspetta 50 caratteri perchè fai durar fatica al tuo utente a
scrivere 60 o più caratteri????Che poi saranno nella migliore delle ipotesi
fonte di incazzature varie!
C)Se sicuro che l'errore non sia un tuo errore logico? hai scrtto male
qualcosa...ti sei dimenticato qualcos'altro....
D) Ma usi ADO, DAO, ...o una melassa dei due????Non si è capito!
E) Sotto XP devi installare DAO (te l'hanno già detto)...visto che ci sei
...converti il db anche a access2000...male non fa!
F) ......Caso mai vedere una piccola porzione di codice dove salta fuori
l'errore non farebbe male....sai di indovini c'è solo il divino Otelma :o)
Bye man!

 ...converti il db anche a access2000...male non fa!
Questa è  la prima cosa che farò!


 ha scritto nel messaggio
news:5EEL9.24084$Ou4.7...@twister2.libero.it...
CUT
Alcune regole generali
1) Quando rispondi anche se fai prima è inutile che tu ripeta tutto il
messaggio (dopo 2 persone che rispondono in maniera lunga diventa un
messaggio enorme)
come vedi elimini tutta la sovrastruttura..come ho fatto io e scrivi quello
che interessa
2) Non devi essere geloso del tuo codice...difficilmente avrai fatto
qualcosa di innovativo. Il problema è tuo se vuoi un aiuto mettiti in
condizione di riceverlo.
Vuol dire che se hai un problema in una porzione di codice....postalo per
vedere di ricevere aiuto!
nello specifico
Che vuol dire che non scrive?
SE apri il database e fai delle query...fai anche li aggiornamenti...ecco
che forse c'è un bachino subdolo nel tuo codice...ma siccome non abbiamo
altre info....non sappiamo come aiutarti!
Non è che hai messo il database in una cartella read-only???
Win98 se ne frega ma da Me in su sopratutto con una formattazione ntfs puoi
fare questi giochi...sopratutto a seconda di chi si accredita!
Non è che il tuo amico ti fa provare da xp come utente guest????
Le installazioni le devi fare da Administrator....e mettere i DB in una
cartella condivisa a tutti gli utenti!!!
se è questo.... il tuo programma non girerà neanche sotto win2000!!!

 lui) come lo risolvo ?
Oh, insomma: Se stai mettendo più roba di quanta ce ne sta nel campo,
l'errore te lo deve dare sia DAO che ADO. Come fare? Mettere meno roba nel
campo, al max quanta ce ne sta. Ora, per favore, pubblica un po' di codice e
cerca di spiegarti bene.

 Oh, insomma: Se stai mettendo piů roba di quanta ce ne sta nel campo,


 l'errore 3163 (campo troppo  corto......)????
Ok, calma (sto dicendo a me):
Qual è la riga che ti dice "campo troppo corto"? Dopo averla individuata
verifica il contenuto della variabile/controllo alla destra dell'uguale (ti
basta portarci su il mouse dopo aver premuto F9 sulla riga stessa). Fatto?
Ti risulta che quello che vedi sia più lungo della capienza del campo alla
sinistra dell'uguale?
A parità di database, codice e dati aggiunti, escludo (ho detto escludo!)
che 98 vada bene e XP no. Scommetto la permanenza in questo NG!

(campo troppo  corto......)????
Probabilmente XP e' piu' "preciso".
Chi lavora con Oracle, ad esempio, e' gia' abituato a non cercare di
scrivere valori piu' lunghi del campo che li deve ospitare perche' il
database
non gradisce.
Hai provato a passare le variabile ad una Left$ che tagli sempre alla
dimensione massima prevista per il campo?
-- 
ciao, hal

     End With
e su quale si incazza....sulla data?

 e su quale si incazza....sulla data?
eheh, bella pensata! Perchč no?!
Magari č ricavata direttamente dai settaggi locali e con 98 č piů corta di
quanto non sia con XP.
Perň (insisto), le condizioni (db e/o codice e/o, appunto, dati aggiunti)
non possono che essere diverse.

 dimensione massima prevista per il campo?
non e' piacevolissima.
imho conviene
- o impostare il maxlength del textbox
- o gestire il change, contando e, se si supera, dingando e impedendo
di inserire ma consentendo di modificare quanto immesso. in questo
modo si possono saltare parti secondarie e inserirne di vitali che
stanno in fondo. il [...] delle citazioni, insomma :)
ciao

E va bene, allora devo pensare che Xp ragioni in maniera diversa sui campi
del DB rispetto a Win 98.
Penso di preparare l'eseguibile con diverse msgbox nel codice nel punto in
cui ritrengo che il prg si pianti.
Vado dall'amico che mi fa usare XP, cosě raccolgo altri dati e vi farň
sapere

 ha scritto nel messaggio
news:AhUL9.26808$TC5.8...@twister1.libero.it...


 Data gg/MM/aaaa, anzichč  gg/mm/aa
Ebbravo wodka! 'sto ragazzo berrŕ pure, ma č un geniaccio!

 Ebbravo wodka! 'sto ragazzo berrà pure, ma è un geniaccio!
beh, se si parte dal presupposto che in MS bevano, direi che lo stato di
ebbrezza è quello più indicato per capire cosa in realtà succeda...

 Ebbravo wodka! 'sto ragazzo berrà pure, ma è un geniaccio!
Eppure qualcosa non mi torna...
Se il campo del recordset che contiene la data, è impostato nel DB come
datetime, l'assegnazione del suo valore con
Recordset(indice_campo)=Data
non dovrebbe essere influenzato dalle impostazioni internazionali, visto che
avviene un passaggio di valori, e non di rappresentazioni (stringhe).
A meno che, ma allora ci sarebbe da riflettere sullo stile di
programmazione, non sia vera una di queste cose:
1) Il campo del DB non è di tipo DateTime, ma testo
2) la variabile Data non è di tipo Date
Per quanto riguarda l'assegnazione, sarebbe stato più corretto utilizzare:
Recordset.Fields.Item(indice_campo).Value=Data
Se invece la variabile Data non è di tipo Date, ma ad esempio di tipo
stringa, o peggio ancora, è un textbox di cui si sfrutta la proprietà
predefinita .Text, si dimostrerebbe ancora una volta l'equazione
Conversioni_Implicite=Cacca.
Ciao
Alberto

CSSoft ha scritto:

Già, della serie "mettiamoci nelle loro condizioni, potremo meglio
comprenderci". ;-)
A scanso di equivoci e del nick, considero wodka un vero genio, sregolato e
pazzo finchè si vuole, magari pure bevitore (no, santo decisamente no), ma
con quelle caratteristiche che gli consentono di centrare il problema senza
pensarci più di tanto. Altri, come il sottoscritto (che pure è bevitore, ma
affatto santo o genio) si limitano, quando gli va bene, a fare ipotesi
puramente tecniche. Pur se corrette, sterili.

 2) la variabile Data non è di tipo Date
Lo sapremo mai? Un'altra dimostrazione di quanto tempo si guadagnerebbe se
chi scrive, oltretutto dopo essere stato più volte invitato a farlo,
fornisse le minime indispensabili informazioni.

affatto santo o genio) 
Questo "affatto" e' freudiano?
-- 
ciao, hal

[lupo]
Altri, come il sottoscritto (che pure č bevitore, ma
affatto santo o genio)
[hal1961]
Questo "affatto" e' freudiano?
Penso che sia un problema un po' piů complesso: mi pare che l'avverbio
"affatto" sia comunemente utilizzato nell'accezione "per nulla", anche se il
suo vero significato mi risulta essere esattamente l'opposto.
Datemi un vocabolario!!!
Salutoni
Sergio

 ha scritto nel messaggio
news:gnkM9.31398$TC5.9...@twister1.libero.it...


 non tutti sono dei geni.
Nessuno pretende che tu sia un genio.
Perň ti hanno chiesto di postare determinate informazioni, tu hai ignorato
beatamente le richieste, e giustamente hai perso tantissimo tempo per una
cavolata che ti avrebbero detto tutti in due minuti.
Oltretutto, hai pure rimescolato le carte alcune volte, parlando di VB6 e
poi di VB4, e poi di nuovo di VB6.
A dimostrazione del fatto che, ben lungi da essere un genio, sei anche un
maleducato, c'č il fatto che non hai ancora detto di che tipo sono il campo
del DB che contiene la data e soprattutto la variabile Data. Perchč noi
cerchiamo di aiutare, ma ci piacerebbe anche imparare da questi thread. E se
tutti facessero come te, dicendo solo le due cose minime per esporre il
problema, e poi ficcandosi nel silenzio piů assoluto, vedrai che in pochi
giorni ci si romperebbe le scatole di aiutare 'a gratis'.
Anche nel thread del tuo problema con Access2000, se tu avessi dato le
informazioni che ti erano state richieste, avresti ottenuto piů rapidamente
la risposta al problema, e avresti consentito ad altri di imparare qualcosa.
Alberto

 poi di VB4, e poi di nuovo di VB6.
Errore di distrazione.
Chiedo scusa se mi sono spiegato male
Il campo per la data è di tipo date, ed anche la variabile che ci si scrive
all'interno.

 l'opposto. Datemi un vocabolario!!!
Approfondirò, ma l'ho usato nel primo senso.
Semmai fosse errato, il massimo che posso fare è scusarmi, ma giuro che
nessuno mi costringerà mai ad usarlo in quello corretto, i tempi di scuola
son finiti... :-PP
"... per niente affatto ...", mi sembra una doppia negazione, quindi
un'affermazione

 scrive all'interno.
Come Albe, dubito fortemente. Io credo che sia testo.
Sia una variabile As Date in VB che un campo di database dichiarato di tipo
(DAO) date/time, posso uguagliarli a now, che è lunghetto.

 son finiti... :-PP
Sono sicuro che non lo pensi affatto (scritto così, cosa intendi?), se così
fosse non frequenteresti questi luoghi, dove ogni giorno si rischia di
impararne una nuova, su VB ma anche su altro...
Salutoni
Sergio

 rischia di impararne una nuova, su VB ma anche su altro...
Era un ... "rafforzativo". No, però userò sempre "affatto" nel senso di "per
nulla", oltretutto, ora, confortato da una definizione/accezione di
Garzanti, pur se il palese (e alcooooooolico) contrasto con un'altra dello
stesso.

 ha scritto nel messaggio
news:atsr0f$2ddq1$1...@ID-174464.news.dfncis.de...

Se fosse vero che il campo è di tipo date, e la variabile pure, la riga:
.Recordset(4) = Data
non dipenderebbe dalle impostazioni internazionali.
A meno che, in qualche modo la mancanza del .Value non dia dei problemi, ma
quesot lo si può vedere con un semplice test.
Ciao
Alberto