[ zmakibtp @ 29.03.2007. 13:16 ] @
| Evo mog problema dobiosam bazu u formi kolona 1 ime i prezime kolona 2 adresa postanski broj i mesto. Kako da drugu kolonu razdvaojim na dva dela to jest da u jednoj koloni ostane ulica i broj a u drugoj postanski broj i mesto. Naravno dase ne radi rucno posto ima oko 130 000 (sto drideset hiljada) podataka. Odgovor mi je hitno potreban, ako postoji, pritiskaju me rokovi. Unapred hvala |
[ Branko_S @ 30.03.2007. 09:42 ] @
Recimo ovako:
1. pretpostavimo da su korisnici unosili adresu u formatu "ulica; broj; poštanski broj; mesto"
2. moguće da je dolazilo do grešaka prilikom unosa (više razmaknica nego što je potrebno)
3. "poštanski broj" je unet pravilno tj. ispred "mesta"
Napravi novu tabelu sa tri kolone Ime_Prezime;Ulica_i_br; PostBr_i_mesto i ova funkcija ce ti to odraditi!
Function dodaj()
Dim Adr1, Adr2 As String
Dim str(6) As String
Dim i(3) As Integer
Dim rs As Recordset
Dim rs2 As Recordset
Set rs = CurrentDb.OpenRecordset("tbl_podaci") ' tabela u kojoj se nalaze podaci
Set rs2 = CurrentDb.OpenRecordset("tbl_podaci2") ' nova tabela u kojoj se dodaju razdvojeni podaci
rs.MoveFirst
While Not rs.EOF
str0 = rs!Adresa
str0 = StrReverse(str0)
str0 = Trim(str0)
i(1) = InStr(1, str0, " ")
str(1) = Left(str0, i(1))
str(2) = Mid(str0, i(1), Len(str0))
str(2) = Trim(str(2))
i(2) = InStr(1, str(2), " ")
str(3) = Left(str(2), i(2))
str(4) = Mid(str(2), i(2), Len(str(2)))
str(4) = Trim(str(4))
i(3) = InStr(1, str(4), " ")
str(5) = Left(str(4), i(3))
str(6) = Mid(str(4), i(3), Len(str(4)))
str(6) = Trim(str(6))
If IsNumeric(str(3)) Then ' proveravamo dali je ovaj deo pošt. br zato što je moguce da se mesto sastoji od dve rechi
' Novi Sad, G Milanovac itd
Adr1 = StrReverse(str(4))
Adr2 = StrReverse(str(3)) & " " & StrReverse(str(1))
Else
Adr1 = StrReverse(str(6))
Adr2 = StrReverse(str(5)) & " " & StrReverse(str(3)) & " " & StrReverse(str(1))
End If
rs2.AddNew
rs2!Ime_Prezime = rs!Ime_Prezime
rs2!Ulica_i_br = Adr1
rs2!PostBr_i_mesto = Adr2
rs2.Update
rs.MoveNext
Wend
rs2.Close
rs.Close
MsgBox "Gotovo"
End Function
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.