|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Mar 2004
Città: Guarene
Messaggi: 45
|
[Vb e Access]
Sto riempendo di record una tabella in Access 2002 da visual basic 6.0 con un loop che esegue tanti insert quanti sono i record che ho estratto con una select. Il problema è che nelle tabelle caricate i dati stringa hanno una lunghezza pari a quella della definizione del campo: in poche parole un codice lungo 2 mi risulta lungo 10 (se in campo codice ha lunghezza 10). Access mi aggiunge tutti spazi alla fine. Qualcuno ha mai riscontrato questo problema? Non è la prima volta che carico delle tabelle e non mi era mai successo nulla di simile.
st = "CREATE TABLE ArtCat3 " st = st & "(Codice char(8), Descri char(32));" Con2.Execute (st) st = "SELECT CatOmo.Categoria AS codice, CatOmo.Descri FROM CatOmo" rs.Open st, con, adOpenStatic, adLockReadOnly Do While Not rs.EOF st = "INSERT INTO ArtCat3 VALUES ('" & RTrim(rs("codice")) & "','" & RTrim(StringaPerQuery(rs("Descri"))) & "')" Con2.Execute (st) rs.MoveNext Loop rs.Close Nella Insert utilizzo anceh trim ma nulla da fare. Grazie a chiunque risponderà!!!!
__________________
Sapere è potere, i potenti però...sono ignoranti! |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
NO! Mai avuto questo problema, ci lavoro molto con VB + Access, ma nulla.. molto probabilemente perchè io creo già tutto in access e poi ci scrivo dentro
![]()
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!" A. Einstein |
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Mar 2004
Città: Guarene
Messaggi: 45
|
Ho scoperto su #VisualBAsic che il problema era dato dal fatto che per la CREATE TABLE utilizzavo il tipo di dato CHAR al posto di VARCHAR, tutto qui.
__________________
Sapere è potere, i potenti però...sono ignoranti! |
![]() |
![]() |
![]() |
#4 |
Member
Iscritto dal: Apr 2002
Città: Cagliari
Messaggi: 72
|
Ciao,
hai ragione perfettamente, se usi un campo di tipo char, il database utilizzerà tutta la lunghezza del campo per il valore, il consiglio (come in fondo ti sei già risposto) è di utilizzare campi di tipo char quando l'informazione che inserisci è a lunghezza fissa (esempio password hashate in md5) e varchar per gli altri utilizzi.
__________________
Il successo è ottenere ciò che si vuole. La felicità è volere ciò che si ottiene |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:47.