Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Export podataka iz Excel kolone u Access VB

[es] :: Visual Basic 6 :: Export podataka iz Excel kolone u Access VB

[ Pregleda: 3706 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

stefann127
Stefanovic Nebojsa
ITS
Beograd

Član broj: 55741
Poruke: 91
*.rcub.bg.ac.yu.



Profil

icon Export podataka iz Excel kolone u Access VB 02.06.2005. u 14:53 - pre 229 meseci
Pozdrav ljudi,


već sam se susreo sa problemom Export Datas iz Excel -- Sheet--KOLONA napr C7:C14 u odgovarajuća definisana polja napr. tabele1 u Access, etc.
Koristio sam Macro -->TransferSpreadsheet-->Import--> popunio Spreedsheet Type, Table name, File Name, Field Names (Yes) i Range C7:C14, ali sam Importovane podatke dobio takođe u koloni, a trebali su da budu importovani u red u Access tabeli.
Tada sam malo napravio gimnastiku u Excel-u , pa sam iz .xls fajla jednog Sheets napr."cu1" -->KOLONA C7:C14--> Copy --> paste Special --> Transpose i tada sam dobio podatke u tabeli 1 Access-a u jednom redu.
Ipak mi se čini da je to malo što kažu "okolo--naokolo", pa molim za pomoć i pitam znalce, Marka_L naročito, može li mi pomoći da VB Code-om (može i Macro-om), sa unosom File name, Sheets name (ima više Sheets u jednom fajlu), Range (napr u tabelu 1 Access-a želim C7:C14, u tabelu 2 želim D310...) posao automatizujem (uuuh da bar zarađujem neku lovu..)
Ne bi bilo loše da se u Code ugradi pokazivač toka procesa kao i da ostane zapisano u Accessu , u posebnoj tabeli Number samo, iz koliko je fajlova trenutno učitano stanje podataka i dobijem podatke u bazu odakle ih mogu kasnije na SQL Server "reklamirati".
Svaki predlog i pomoć su dobrodošli.

pozdrav eXPertima





 
Odgovor na temu

Marko_L
Beograd

Član broj: 20532
Poruke: 2885
*.yubc.net.

Jabber: Marko_L@elitesecurity.org


+828 Profil

icon Re: Export podataka iz Excel kolone u Access VB 02.06.2005. u 18:59 - pre 229 meseci
Ajde da vidimo da li sam te razumeo dobro :)
Znači, podatke koje imaš u jednoj koloni želiš da smestiš u tabelu, ali tako da svaki red iz jedne kolone u Excel-u bude u posebnom polju u tabeli.E sad, ne znam tačno kakva je situacija, odnosno predpostavljam da već imaš napravljenu access bazu sa svim potrebnim poljima (koliko vidim iz primera koje si dao imaš ih tačno osam).Ja se nisam nešto mnogo bavio exportovanjem podataka, tako da ne znam da li postoji neka naprednija funkcija koja to radi u manje koraka, ali možeš da napraviš jednu proceduru koja će to da ti odradi ćeliju po ćeliju, nešto ovako
Code:
Private Sub Eksportuj(filenamexls As String, sheetxls As String, _
            rangexls As String, filenamemdb As String, tabelamdb As String)
Dim brojac As Integer
Dim celija As range
Dim db As Database
Dim rs As Recordset
Set db = OpenDatabase(filenamemdb)
Set rs = db.OpenRecordset("SELECT * FROM " & tabelamdb)
brojac = 0
Excel.Workbooks.Open (filenamexls)
rs.AddNew
For Each celija In Excel.Workbooks(1).Worksheets(sheetxls).Range(rangexls)
rs.Fields(brojac).Value = celija.Value
brojac = brojac + 1
Next celija
rs.Update
Excel.Workbooks(1).Close
End Sub

I onda bilo gde iz koda možeš da je pozoveš i proslediš argumente, ovako recimo
Code:
Eksportuj putanjadofajlaxls, nazivsheeta, range, putanjadofajlamdb, nazivtabelemdb

Recimo ukoliko imaš fajl nesto.xls koji se nalazi na C, u njemu sheet koji se zove Sheet1, hoćeš polja C7 do C14 da ubaciš u bazu nesto.mdb koja se nalazi na C, i ima tabelu koja se zove "tabela" (imena polja nisu bitna, bitno je samo da ih ima 8 pošto range saddrži toliko podataka), kod će glasiti ovako
Code:
Eksportuj "C:\nesto.xls", "Sheet1", "C7:C14", "C:\nesto.mdb", "tabela"

Vidi da li ti to odgovara ili da radimo drugačije.
-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti
 
Odgovor na temu

stefann127
Stefanovic Nebojsa
ITS
Beograd

Član broj: 55741
Poruke: 91
*.rcub.bg.ac.yu.



Profil

icon Re: Export podataka iz Excel kolone u Access VB 03.06.2005. u 14:28 - pre 229 meseci
Pozdrav Marko_delijo,

nema šta da se prigovori, tvoj rezon je sa extra advanced planet,
Dakle svaki red iz kolone u posebno polje u Access tabeli koja je već kreirana i definisana sa parametrima. U navedenom slučaju dakle kolona ima 8 polja (raspoređenih u redove) tako da i tabela u Accessu ima 8 Fields -- sve definisano.

E sad da potvrdim ja svoje shvatanje napisanog.
Forma bi sadržala:

CmdButton Eksportuj,
Text filenamexls
Text sheetxls
Text rangexls
'da li navoditi od ----do u polju? ili jedno polje za od, jedno polje za do
Text filenamemdb
Text tabelamdb

i tako malo više Text polja za unos ili...nešto jednostavnije?

Takođe pitanje tj. predlog da se Count broja učitanih .xls fajlova smesti u posebni tabelu .mdb (koju bi nazvali napr T3_brojucitanihfajlova)
I molim te, malo sam ti programerski "walker", predloži gde to bilo gde u Code pozvati, "ja kao mašinac sam ti malo ograničen", pa mi treba tačno pokazati "kojom stazom sme kuca da šeta i kevće".
Programeri profesionalno drugačije razmišljaju, mašinci su kao drvene lutke, zavise od struje...

Code:

Eksportuj "C:\nesto.xls", "Sheet1", "C7:C14", "C:\nesto.mdb", "tabela"


Ima li potrebe za Progressbar sa pokazanim % učitavanja?
Ili da se prikazuje tekst "Učitavam fajl nesto1.xls"
Uuuh, mora da sam smarač izgleda, mada sam u karakteru long away from, trust me & shooting to TV...
Čoveče, pa tebe čeka večera na splavu, ajde Calypso...

Hvala unapred i napiši može li se tebi nešto učiniti

 
Odgovor na temu

Marko_L
Beograd

Član broj: 20532
Poruke: 2885
*.yubc.net.

Jabber: Marko_L@elitesecurity.org


+828 Profil

icon Re: Export podataka iz Excel kolone u Access VB 03.06.2005. u 19:25 - pre 229 meseci
Citat:
i tako malo više Text polja za unos ili...nešto jednostavnije?

To zavisi od tebe.To sa textboxovim je ok ideja, ako ti odgovara da tako radi.
Citat:
Takođe pitanje tj. predlog da se Count broja učitanih .xls fajlova smesti u posebni tabelu .mdb (koju bi nazvali napr T3_brojucitanihfajlova)

Može.Definiši jednu public promenljivu, recimo u modulu i povećavaj je za jedan svaki put kada okineš command button Eksportuj, a onda kada završiš sa radom, smesti je u bazu.
Citat:
I molim te, malo sam ti programerski "walker", predloži gde to bilo gde u Code pozvati

Pa bukvalno bilo gde.Recimo, pošto si odlučio da napraviš nekoliko textboxova i command button, onda u Click event command buttona pozoveš proceduru za eksportovanje.Evo konkretno primera.Znači napraviš 5 textboxova i jedan command button koji se zovu (property Name) redom, textboxovi : XlsFileName, XlsSheet, XlsRange (dovoljno je da bude jedno polje od do koje mora da se unese tačno u formatu C7:C14), MdbFileName, MdbTabela i command button neka bude cmdEksportuj
I onda pozivaš iz koda sa
Code:
Private Sub cmdEksportuj_Click()
Eksportuj XlsFileName.Text, XlsSheet.Text, XlsRange.Text, MdbFileName.Text, MdbTabela.Text
End Sub

E sad pošto kod neće raditi ukoliko se ne popune sva polja, možeš da izmeniš kod tako da na početku izvršiš proveru da li su svi textboxovi popunjeni.Najprostiji način
Code:
Private Sub cmdEksportuj_Click()
If XlsFileName.Text = "" Or XlsSheet.Text = "" ...i isto to za ostale textboxove...Then
MsgBox "Morate popuniti sva polja"
Exit Sub
End If
Eksportuj XlsFileName.Text, XlsSheet.Text, XlsRange.Text, MdbFileName.Text, 
MdbTabela.Text
End Sub

Citat:
Ima li potrebe za Progressbar sa pokazanim % učitavanja?

Pa možeš da ubaciš i progressbar, mada nema svrhe, s obzirom da se ovaj kod toliko brzo izvršava da neće ni stići da se pomeri.Eventualno možeš na kraju procedure da ubaciš jedan MsgBox "Transfer zavrsen".

-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti
 
Odgovor na temu

stefann127
Stefanovic Nebojsa
ITS
Beograd

Član broj: 55741
Poruke: 91
*.yubc.net.



Profil

icon Re: Export podataka iz Excel kolone u Access VB 03.06.2005. u 21:53 - pre 229 meseci
Marko,


ponimaю.

Probaću za dan dva kako "štaufuje".
Ako stigneš javi mi ako možeš koja je Properties za unos formata C7:C14, nešto nisam siguran da ću pronaći u Alphabetic ili Categorized.

Pozdrav, javiću se.



 
Odgovor na temu

Marko_L
Beograd

Član broj: 20532
Poruke: 2885
*.yubc.net.

Jabber: Marko_L@elitesecurity.org


+828 Profil

icon Re: Export podataka iz Excel kolone u Access VB 03.06.2005. u 22:07 - pre 229 meseci
Ma ne treba ti nikakav properties.Jednostavno se u tekstboxu za Range upiše tako C7:C14 i ništa više.
-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti
 
Odgovor na temu

stefann127
Stefanovic Nebojsa
ITS
Beograd

Član broj: 55741
Poruke: 91
*.yubc.net.



Profil

icon Re: Export podataka iz Excel kolone u Access VB 27.06.2005. u 20:59 - pre 228 meseci
Marko,

malo nastavka "tek da se talasa".
Da ponovim ponešto od problema:
Imam određen broj excell fajlova iz kojih želim exportovati podatke napr. iz ćelija i to samo iz KOLONE isključivo napr.C7:C14 , dakle 8 ćelija u Acces tabelu koja ima 8 polja napr.p1, p2 ..p8, sve definisano (neko polje je Number, neko polje je Date, neko polje je Number, neko polje je Hyperlink...).
Međutim pošto je obrazac već definisan, desilo se odn. zatekao sam--da su recimo ćelije u koloni C9i C12 napr. prazno polje i još protektovano.
Kada se učitaju podaci iz jednog fajla oni ostaju u bazi, zatim učitavam drugi fajl iz identičnih ćelija odn. samo iz KOLONE C7:C14 i tako se Access baza puni podacima.
Prazne ćelije bih kasnije obrisao kada se učitaju svi fajlovi (ili da ostavim Default value u .mdb =0)
Brojač učitanih fajlova mislim da i neće trebati, jer ću ubaciti u .mdb tabelu polje Autonumber.
Dakle sada ne treba početne vrednosti Dim celija i brojac postaviti na 0 (pogledaj tvoj prvi odgovor) - možda nisam u pravu ??? već učitavati podatke iz .xls Columns u polja p1, p2..p8 tabele .mdb.
Ovaj me je problem "čekao"od 02.juna
Moguće je da bude i više ćelija u KOLONI do 30-tak ali sve isto važi. tabela .mdb je definisana, .xls fajl takođe (sa praznim i protektovanim ćelijama u koloni).
Onaj deo sa
Code:

Private Sub cmdEksportuj_Click()
If XlsFileName.Text = "" Or XlsSheet.Text = "" ...i isto to za ostale textboxove...Then
MsgBox "Morate popuniti sva polja"
Exit Sub
End If
Eksportuj XlsFileName.Text, XlsSheet.Text, XlsRange.Text, MdbFileName.Text, 
MdbTabela.Text
End Sub

treba dopuniti preskakanjem na narednu ćeliju koja sadrži podatak.
Nešto kao:
Code:

If celija.Value = "Protected" Then
brojac = brojac + 1
End If
Next celija

Nisi mi poslao e-mail da ti "javim news"

Hvala unapred, You are really miracle.
Ne stvarno, tebe da nema trebalo bi ti spirit postaviti na Es

Pozdrav
 
Odgovor na temu

stefann127
Stefanovic Nebojsa
ITS
Beograd

Član broj: 55741
Poruke: 91
*.yubc.net.



Profil

icon Re: Export podataka iz Excel kolone u Access VB 04.07.2005. u 20:15 - pre 228 meseci
Marko,
Znalci,

ima li te ovim povodom i da li sam prevazišao granice?

Da ponovim problem je nastao sa praznim i protektovanim ćelijama u KOLONAMA.
Ima li načina da se preskoče ili da ih uvezem u kvazi polja u .mdb pa posle da izbrišem ta polja u tabeli?
Problem je što podataka ima recimo 30 tak a protektovanih i praznih još bar 15-tak.
Takav sam upitnik zatekao u .xls.

Hvala i Bog da poživi Srbiju i srbe.

Pozdrav
 
Odgovor na temu

Marko_L
Beograd

Član broj: 20532
Poruke: 2885
*.yubc.net.

Jabber: Marko_L@elitesecurity.org


+828 Profil

icon Re: Export podataka iz Excel kolone u Access VB 11.07.2005. u 15:48 - pre 227 meseci
Ako sam te dobro razumeo, onda bi mogao jednostavno da proveriš da li ćelija prazna sa If celija.Value = "" Then...pa preskočiš na sledeću.
-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti
 
Odgovor na temu

[es] :: Visual Basic 6 :: Export podataka iz Excel kolone u Access VB

[ Pregleda: 3706 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.