Newsgroup: it.comp.appl.access
Titolo: uno spazio di troppo

ciao a tutti 
ho un grossissimo problema....
ho un database di circa 2000 aziende preso da un txt che dopo essere stato
importato mi aggiunge prima di ogni record del campo ragione sociale uno
spazio....cosě facendo Access non mi permette di avere rag_soc come chiave
primaria perchč legge il  record come null!!!
come posso fare per evitare quetso problema????
grazie a tutti in anticipo 
Michele
-- 
Posted from 
ppp-243-155.26-151.libero.it
 [151.26.155.243] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 Michele
Se non ho capito male, nel campo rag_soc ti ritrovi uno spazio e poi
l'eventuale ragione sociale?
Se fosse cosě basta fare un update della ragione sociale con ltrim(rag_soc);
Ciao
   Old-Jack.


A parte il problema da te lamentato, che confesso di non aver capito anche
perché un campo di tipo testo che inizia con uno spazio non assume il valore
Null, sei sicuro che sia giusto usare la ragione sociale come chiave
primaria? Possono sicuramente esistere due aziende diverse con la stessa
ragione sociale.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

Michele
se devi importare da un txt prova a usare questa procedura risistemata
c'č parecchio da togliere, ma penso sia quello che fa al caso tuo.
Private Sub importaelettroingross_Click()
On Error GoTo Err_importaelettroingross_Click
Dim fs, f, f1, fc, s, agg, lis
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder("A:\")
Set fc = f.Files
For Each f1 In fc
    If f1.Name = "aggsost" Then agg = True
    If f1.Name = "liselg" Then lis = True
Next
Dim db As Database
Dim rs As Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("SELECT * FROM merce")
Const ForReading = 1, ForWriting = 2, ForAppending = 3
Dim Riga, cerca, vecchio, nuovo As Variant
If agg Then
 Set f = fs.OpenTextFile("A:\aggsost", ForReading)
 Do While f.atendofstream = False
    Riga = (f.readline)
    vecchio = UCase("elett" & RTrim(Left(Riga, 20)))
    nuovo = UCase("elett" & RTrim(Mid(Riga, 21, 20)))
    If nuovo = UCase("elett" & "00000000000000000000") Then
        rs.FindFirst ("codice=""" & vecchio & """")
        If rs.NoMatch = False Then
            rs.Delete
        End If
    Else
        rs.FindFirst ("codice=""" & nuovo & """")
        If rs.NoMatch = True Then
            rs.FindFirst ("codice=""" & vecchio & """")
            If rs.NoMatch = False Then
                rs.Edit
                rs![codice] = nuovo
                rs.Update
            End If
        End If
    End If
 Loop
 f.Close
Else
    MsgBox ("File aggsost non trovato in A:\")
End If
If lis Then
 Set f = fs.OpenTextFile("A:\liselg", ForReading)
 Do While f.atendofstream = False
    Riga = (f.readline)
    cerca = UCase("elett" & RTrim(Left(Riga, 15)))
    rs.FindFirst ("codice=""" & cerca & """")
    If rs.NoMatch = True Then
        rs.AddNew
        rs![codice] = cerca
        rs![descrizione] = Mid(Riga, 16, 35)
        rs![um] = "Nr."
        rs![prezzocarico] = Val(Mid(Riga, 51, 12)) / 100
        rs![codicebarre] = Mid(Riga, 64, 13)
        rs![data] = Date
        rs![magazzino] = "Merce"
        rs.Update
    Else
        rs.Edit
        rs![descrizione] = Mid(Riga, 16, 35)
        rs![prezzo] = Val(Mid(Riga, 51, 12)) / 100
        rs![codicebarre] = Mid(Riga, 64, 13)
        rs![data] = Date
        rs![magazzino] = "Merce"
        rs.Update
    End If
 Loop
 f.Close
Else
    MsgBox ("File liselg non trovato in A:\")
End If
rs.Close
Set db = Nothing
MsgBox "Importazione completata"
Exit Sub
Err_importaelettroingross_Click:
    MsgBox "Errore durante l'importazione dei dati"
    Exit Sub
End Sub