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

Update tabele ADO Recordsetom

[es] :: Access :: Update tabele ADO Recordsetom

[ Pregleda: 1247 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

smal
Slobodan Maljković
Kragujevac, Srbija

Član broj: 228672
Poruke: 286
*.dynamic.sbb.rs.



+13 Profil

icon Update tabele ADO Recordsetom22.11.2011. u 21:14 - pre 151 meseci
Ovakva situacija:

Klasična Access aplikacija se izvršava lokalno, ali tabela SIFKOM, tj. šifarnik komitenata, trebala bi da se na On Click updateuje podacima koji se popunjavaju na udaljenoj lokaciji.

Na remote lokaciji je Advantage Database Server. Izguglao sam i prepravio rešenje za internet konekciju, napravio unbound datasheet formu, i na open event postavio sledeći kod:
Code:
Private Sub Form_Open(Cancel As Integer)
  Dim cn As ADODB.Connection
   Dim rs As ADODB.Recordset
               
  'Create a new ADO Connection object
   Set cn = New ADODB.Connection
   
     With cn
      .Provider = "Advantage OLE DB Provider;LockMode=ADS_COMPATIBLE_LOCKING;User ID=USER;Password=Pass; Data Source=\\adresa:6263\software\baza.add;Advantage Server Type=ADS_AIS_SERVER;ReadOnly=TRUE;TableType=ADS_CDX"
      .Open
   End With

   'Create an instance of the ADO Recordset class, and
   'set its properties
   Set rs = New ADODB.Recordset
   With rs
      Set .ActiveConnection = cn
      .Source = "SELECT SIFRA_KOM, NAZIV_KOM, POSTA, ADRESA, MESTO_KOM, TEKUCI, PIB, REFER, DATUM, VREME from SIFKOM where PIB is not null order by SIFRA_KOM"
      .LockType = adLockReadOnly
      .CursorType = adOpenKeyset
      .CursorLocation = adUseClient
      .Open
   End With
  
   'Set the form's Recordset property to the ADO recordset
   Set Me.Recordset = rs
   Set rs = Nothing
   Set cn = Nothing

   Set cn = Me.Recordset.ActiveConnection
   cn.Close
   
End Sub

i podaci su na formi za manje od 2 sekunde. Moje pitanje glasi, kako recordset prebaciti u lokalnu Access tabelu, odnosno kako izvršiti update lokalne Access tabele dobijenim recordset sadržajem?

Hvala!
 
Odgovor na temu

Trtko
Koprivnica

Član broj: 69494
Poruke: 695
*.adsl.net.t-com.hr.



+8 Profil

icon Re: Update tabele ADO Recordsetom22.11.2011. u 22:05 - pre 151 meseci
Pa vrtio bi recordset i upisivao u tablicu na lokalnoj bazi



Dim d As Database
Set d = CurrentDb
Dim ev As Recordset
Set ev = d.OpenRecordset("select * from lokalnatabla where sifra_kom=" & saforme_sifrakom)

If ev.EOF() Then
ev.AddNew ' novi
Else
ev.Edit 'mjenjanje
End If


ev.Fields("sarza") = Fsarza
ev.Fields("nalog") = Format(Fnalog, "000000")
ev.Fields("kolicina") = Fkolicina
ev.Fields("kupac") = UCase(Fkupac)
ev.Fields("predmet") = UCase(Fpredmet)
ev.Fields("proizvod") = UCase(Fproizvod)
ev.Fields("datproiz") = Fdatproiz
ev.Fields("narudzba") = Fnarudzba
ev.Fields("oznaka") = UCase(Foznaka)


ev.Update
ev.Close
Set d = Nothing




 
Odgovor na temu

smal
Slobodan Maljković
Kragujevac, Srbija

Član broj: 228672
Poruke: 286
*.dynamic.sbb.rs.



+13 Profil

icon Re: Update tabele ADO Recordsetom22.11.2011. u 23:00 - pre 151 meseci
Liči da će da radi :) ali nedostaje još nešto, tj. upiše samo prvi slog...
 
Odgovor na temu

Trtko
Koprivnica

Član broj: 69494
Poruke: 695
*.adsl.net.t-com.hr.



+8 Profil

icon Re: Update tabele ADO Recordsetom23.11.2011. u 08:07 - pre 151 meseci
pa morao bi to ubaciti u onu tvoju funkciju za ado prepis

nekako ovako
............
...........
...........

Set rs = New ADODB.Recordset

Do while not rs.eof()


Dim d As Database
Set d = CurrentDb
Dim ev As Recordset
Set ev = d.OpenRecordset("select * from lokalnatabla where sifra_kom=" & saforme_sifrakom)

If ev.EOF() Then
ev.AddNew ' novi
Else
ev.Edit 'mjenjanje
End If


ev.Fields("sarza") = Fsarza
ev.Fields("nalog") = Format(Fnalog, "000000")
ev.Fields("kolicina") = Fkolicina
ev.Fields("kupac") = UCase(Fkupac)
ev.Fields("predmet") = UCase(Fpredmet)
ev.Fields("proizvod") = UCase(Fproizvod)
ev.Fields("datproiz") = Fdatproiz
ev.Fields("narudzba") = Fnarudzba
ev.Fields("oznaka") = UCase(Foznaka)

ev.Update
ev.Close


rs.movenext

loop


Set d = Nothing
 
Odgovor na temu

[es] :: Access :: Update tabele ADO Recordsetom

[ Pregleda: 1247 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

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