Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 14 odgovora
  • 6.024 pregleda

Najnovija ↓

Uvoz podataka iz EXCEL celija u Access formu. 06.04.2010. u 20:08 · pre 201 mesec
izmenjeno 1 put, poslednji put tifoza 06.04.2010. u 20:27
  1. tifoza06.04.2010. u 20:27zapis iz teksta poruke
#1
Trazio sam resenje za svoj problem na forumu ali sve sto sam nasao je mnogo opsirno.

Meni treba jednostavno resenje.

Imam tabelu u excelu sa podacima koja u razlicitim celijama ima podatke koje treba da ucitam u polja forme koja ce to posle zapisati u tabelu.
Meni ne bi bio problem da to nisu razlicite celije i stranice, ali ovako mi treba pomoc.

Treba mi kod ili drugo resenje.

Excel
Sheet1 (A2), (B10), (D4)
Sheet2 (B4)

Iz ovih celija podaci trebaju da se upisu u formu ( LINK ) u Access bazi excelIMPORT.accdb

Napominjem da je excel fajl privremenog tipa i posle iscitavanja podataka u upisa u bazu nije bitan.

Evo tabele i baze u prilogu.
Re: Uvoz podataka iz EXCEL celija u Access formu. 06.04.2010. u 20:16 · pre 201 mesec #2

Evo ti kod a ti ga prepravi po svojoj potrebi

konto = objexcel.Cells(j, 1).Value ' bi bila celija A1

znaci da trebas iz celije C,10 ---> konto = objexcel.Cells(3, 10).Value ---- itd





Dim dato22 As Database
Dim rek22 As Recordset
Set dato22 = CurrentDb
Dim sqlupit22 As String
sqlupit22 = "select * from tblprep"
Set rek22 = dato22.OpenRecordset(sqlupit22)


kolona = 1

Set objexcel = CreateObject("Excel.Application")
lnkput = "c:\program files\baan\tmp\privremena.xls"

dput = Dir(lnkput)

If Len(dput) < 3 Then
MsgBox "NE POSTOJI EXCEL TABLICA " + PPopen
Exit Sub
End If
objexcel.Workbooks.Open (lnkput)



For j = 1 To 1000

konto = objexcel.Cells(j, 1).Value

rbr = Nz(Trim(Mid(konto, 1, 4)), 0)
narudzba = Trim(Mid(konto, 6, 11))
rad_nal = Trim(Mid(konto, 18, 6))
kupac = Trim(Mid(konto, 25, 21))
dat_izd = Trim(Mid(konto, 47, 10))
dat_got = Trim(Mid(konto, 58, 10))
kolicina = Trim(Mid(konto, 69, 7))
kvaliteta = Trim(Mid(konto, 77, 8))
val1 = Trim(Mid(konto, 86, 8))
tezina = Trim(Mid(konto, 95, 7))
str1 = Trim(Mid(konto, 103, 6))
vr1 = Trim(Mid(konto, 110, 7))
str2 = Trim(Mid(konto, 118, 6))
vr2 = Trim(Mid(konto, 125, 7))
str3 = Trim(Mid(konto, 133, 6))
vr3 = Trim(Mid(konto, 140, 7))
opis = Trim(Mid(konto, 148, 13))
sif_pred = Trim(Mid(konto, 162, 12))
kizp = Trim(Mid(konto, 175, 4))


If IsDate(dat_izd) Then


rek22.AddNew
rek22.Fields("rbr") = rbr
rek22.Fields("narudzba") = narudzba
rek22.Fields("Rad_nal") = rad_nal
rek22.Fields("kupac") = kupac
rek22.Fields("dat_izd") = dat_izd
rek22.Fields("dat_got") = dat_got
rek22.Fields("kolicina") = kolicina
rek22.Fields("kvaliteta") = kvaliteta
rek22.Fields("val") = val1
rek22.Fields("tezina") = tezina
rek22.Fields("str1") = str1
rek22.Fields("vr1") = vr1
rek22.Fields("str2") = str2
rek22.Fields("vr2") = vr2
rek22.Fields("str3") = str3
rek22.Fields("vr3") = vr3
rek22.Fields("opis") = opis
rek22.Fields("sif_pred") = sif_pred
rek22.Fields("kizp") = kizp

rek22.Update
End If
Next j


rek22.Close
Set dato22 = Nothing

objexcel.Application.DisplayAlerts = False
objexcel.Application.Quit
objexcel.Application.DisplayAlerts = True
MsgBox "Podaci su prepisani"
SUBprep.Requery
Re: Uvoz podataka iz EXCEL celija u Access formu. 07.04.2010. u 09:27 · pre 201 mesec #4
Pa program je malo kompleksniji pa ti ga nemogu poslat jel se nebudes znao snaci.
Jel znaš programirati u VB ????

Napraviš si jednu formu , stavi dugme i na njegov ONClick , prepisi ovaj dolje kod , ne cijeli ,
za excel putanju postaviš svoju excel datoteku , za tablicu postaviš svoju tabelu , a vjerojatno
znaš koja polja kamo prepisujes.

Nemogu otvoriti tvoj excel jel ne koristim office 2007
Malo se poigraj , mjenjaj kod, pa če ti sve biti jasno


Dim dato22 As Database
Dim rek22 As Recordset
Set dato22 = CurrentDb
Dim sqlupit22 As String
sqlupit22 = "select * from tabelaukojuprepisujem"
Set rek22 = dato22.OpenRecordset(sqlupit22)


Set objexcel = CreateObject("Excel.Application")
lnkput = "c:\gdjemijeexcel\excel.xls"
objexcel.Workbooks.Open (lnkput)

' uzimaš iz odredjenih polja iz excela

a1 = objexcel.Cells(1, 1).Value
b10 = objexcel.Cells(2, 10).Value
d4 = objexcel.Cells(4, 4).Value

' upisuješ u tablicu polja iz excela

rek22.AddNew
rek22.Fields("polje1") = a1
rek22.Fields("polje2") = b10
rek22.Fields("polje3") = d4
rek22.Update

' zatvaraš tablicu i excel datoteku

rek22.Close
Set dato22 = Nothing

objexcel.Application.DisplayAlerts = False
objexcel.Application.Quit
objexcel.Application.DisplayAlerts = True
MsgBox "Podaci su prepisani"


evo to ti je to , još moraš uključiti i referencu za excel
a za sheet2,sheet3 mislim da ide nekako ovako, al nisam siguran, moraš u helpu provjeriti

a1 = objexcel.sheet2.Cells(1, 1).Value


Pozdrav
Re: Uvoz podataka iz EXCEL celija u Access formu. 08.04.2010. u 08:11 · pre 201 mesec #5

Ja ću poigrati se sa ovim kodom.Jasno mi je kako kod radi, samo da ga uskladim sa svojom aplikacijom.

Mislim da ne bi trebalo biti problema, a ako bude ja ću javiti.
Da li mogu da dobijem tvoj IM ili mail ?


Hvala na pomoći i pozdrav
tifoza
Re: Uvoz podataka iz EXCEL celija u Access formu. 08.04.2010. u 13:44 · pre 201 mesec #7
Gledam tvoj excle fajl tifoza, pa tko ga tako popunjava, rastrkano , moras postaviti ljudima neke norme
Celije pod A opis polja ..... a1-jmbg , a2-ime , a3-prezime itd ... a ispod toga onda podaci
onda nebi imao problema sa uvozom podataka, ljepo bi iskoristio accesov vizard ..





Re: Uvoz podataka iz EXCEL celija u Access formu. 08.04.2010. u 14:31 · pre 201 mesec #8
Što kaže Trtko i u pravu je, pa mi dade jednu ideju. Pošto ti verovatno treba da izvučeš te podatke iz velikh i već napravljenih šitova što prvo ne napraviš novi šit i povučeš u njega podatke po redosledu kakav ti odgovara pa na mnogo lakši način to uvezeš u access.
Potpis
www.igre-konzole.rs
www.tehnologin.rs
Re: Uvoz podataka iz EXCEL celija u Access formu. 09.04.2010. u 15:33 · pre 201 mesec #9
Citat:
Trtko: Gledam tvoj excle fajl tifoza, pa tko ga tako popunjava, rastrkano , moras postaviti ljudima neke norme
Celije pod A opis polja ..... a1-jmbg , a2-ime , a3-prezime itd ... a ispod toga onda podaci
onda nebi imao problema sa uvozom podataka, ljepo bi iskoristio accesov vizard ..


To je samo radi primjera kako bih došao do koda koji mi je potreban

Ja sam pokušao da napravim drugi excel fajl koji mi je to slagao kako treba i onda sam taj fajl linkovao ka formi u Accesu.
Problem je sto svaki put moras da otvoriš taj excel i snimiš fajl kako bi on zapamtio podatke.
Onda forma iz excela vidi to sve kako treba, ali hoću da to zaobiđem.

Radi se o sledećem.

Postoji obrzac za poresku prijavu na sajtu Poreske uprave koja se može exportovati u excel ili pdf.
Meni treba da te podatke povučem u svoju aplikaciju jer ih moram po zakonu čuvati u svojoj bazi podataka.

Evo primjera obrazca, čisto da vidite o čemu se radi.

Re: Uvoz podataka iz EXCEL celija u Access formu. 10.04.2010. u 08:42 · pre 201 mesec #11
Citat:
Zoran.Eremija: Jos da ste naveli koji podatak gde ide?


Pa treba da ide redom u jednu tabelu.
Zbog toga sa i dao onaj prvi primer sa par promjnjivih a ne celi ovaj obrazac koji mi u suštini treba.

Ovo što si ti napravio nije mi jasno kako radi.
Ima tri linkovane tabele koje su konvertovane u novu tabelu ...

Mislim da je Trtko dao najbliže rješenje šta meni treba, samo da provalim kod.
Zabaviću se time preko vikenda pa ću javiti šta sam uradio.
Re: Uvoz podataka iz EXCEL celija u Access formu. 13.04.2010. u 15:52 · pre 201 mesec #12
Ok evo ovo sad radi ali i dalje imam problem sa drugim Sheat-om

Folder je C:\00\Podaci.xls

======================================================
Private Sub Command11_Click()
Dim dato22 As Database
Dim rek22 As Recordset
Set dato22 = CurrentDb
Dim sqlupit22 As String
sqlupit22 = "select * from Podaci"
Set rek22 = dato22.OpenRecordset(sqlupit22)


Set objexcel = CreateObject("Excel.Application")
lnkput = "c:\00\Podaci.xls"
objexcel.Workbooks.Open (lnkput)

' uzimaš iz odredjenih polja iz excela

a1 = objexcel.Cells(1, 1).Value ' Prvi broj = CELIJA *=(1,2,3,4), Drugi broj = KOL0NA (A,B,C,D)
b4 = objexcel.Cells(2, 2).Value
c3 = objexcel.Cells(3, 3).Value
d4 = objexcel.Cells(4, 4).Value


MsgBox " A polje A1 = " & a1
MsgBox " B polje B3 = " & b4
MsgBox " C polje C3 = " & c3
MsgBox " D polje D4 = " & d4


' upisuješ u tablicu polja iz excela

'rek22.AddNew
'rek22.Fields("polje1") = a1
'rek22.Fields("polje2") = b10
'rek22.Fields("polje3") = d4
'rek22.Update

' zatvaraš tablicu i excel datoteku

'rek22.Close
'Set dato22 = Nothing

objexcel.Application.DisplayAlerts = False
objexcel.Application.Quit
objexcel.Application.DisplayAlerts = True
MsgBox "Podaci su prepisani"


'evo to ti je to , još moraš ukljuèiti i referencu za excel
'a za sheet2,sheet3 mislim da ide nekako ovako, al nisam siguran, moraš u helpu provjeriti

'c1 = objexcel.sheet2.Cells(2, 4).Value
End Sub
======================================================================
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme