General |
6.132 Dividere automaticamente in due campi (Indirizzo+NumeroCivico e CAP+Città) la stringa contenuta in un solo campo che contiene indirizzo, numeo civico, CAP e città |
Roberto |
(D) Come si può dividere in due campi la stringa di un campo contenente indirizzo, numero civico, CAP, città e sigla della provincia, in modo tale che il primo campo contenga l'indirizzo ed il numero civico ed il secondo campo contenga il CAP, la città e la sigla della provincia? (R) Se è vero che nella stringa iniziale l'unica sottostringa in essa contenuta che sia lunga 5 caratteri e che sia formata da soli numeri sia il CAP. Se i dati da suddividere sono contenuti in un campo di tipo Testo chiamato TuttoInsieme contenuto in una tabella chiamata Tabella1. In un modulo del tuo database memorizza il seguente codice VBA: Public Function DividiIndirizzo(IndirizzoUnico As String, PrimaDopo As Integer) As String Dim Conta As Integer Dim Conta2 As Integer Dim Pippo As String DividiIndirizzo = "" For Conta = 1 To Len(IndirizzoUnico) - 5 Pippo = "" For Conta2 = 0 To 4 If IsNumeric(Mid(IndirizzoUnico, Conta + Conta2, 1)) Then Pippo = Pippo & Mid(IndirizzoUnico, Conta + Conta2, 1) End If Next Conta2 If Len(Pippo) = 5 Then If PrimaDopo = 1 Then DividiIndirizzo = Left(IndirizzoUnico, Conta - 1) Exit Function Else DividiIndirizzo = Mid(IndirizzoUnico, Conta) Exit Function End If End If Next Conta End FunctionQuindi per ottenere la suddivisione stringa iniziale in due campi, crea una query che abbia il seguente codice SQL: SELECT Tabella1.TuttoInsieme, DividiIndirizzo([TuttoInsieme],1) AS Campo1, DividiIndirizzo([TuttoInsieme],2) AS Campo2 FROM Tabella1; |