» »

Prepisovanje podatkov iz tabele ene baze v tabelo druge baze.

Prepisovanje podatkov iz tabele ene baze v tabelo druge baze.

sosko1 ::

Imam eno težavo in ne vem kako bi se zadeve lotil da bi delovala. Imam dve accesovi datoteki, v prvi so podatki, v drugi pa so forme in pripadajoča koda ter tabele za začasne podatke. Do podatkov dostopam preko ADODB. Rad bi spisal proceduro katera bi mi iz začasne tabele, ki se nahaja v isti datoteki (bazi) kot forme in koda prepiše v drugo datoteko(bazo). sedaj imam zadevo spisano takole:

Public Sub odpri_bazo()
' odpre bazo
Set cn = New ADODB.Connection
cn.Provider = "Microsoft.Jet.OLEDB.4.0"
cn.ConnectionString = "Data source=\\.... datoteka1.mdb"  'datoteka se nahaja na mrežnem pogonu
cn.Open
End Sub

Public Sub odpri_bazo2()
' odpre bazo
Set cn1 = New ADODB.Connection
cn1.Provider = "Microsoft.Jet.OLEDB.4.0"
cn1.ConnectionString = "Data source= " & CurrentProject.Path & "\datoteka2.mdb"   'datoteka se nahaja na lokalnem računalniku
cn1.Open
End Sub

Private Sub cmdshrani_Click()

odpri_bazo
odpri_bazo2
Set rs2 = New ADODB.Recordset
rs2.ActiveConnection = cn1
rs2.Source = "SELECT * FROM voznalog;"
rs2.CursorType = adOpenKeyset
rs2.LockType = adLockOptimistic
rs2.Open
Do Until rs2.EOF = True
    Set rs1 = New ADODB.Recordset          
    rs1.ActiveConnection = cn
    rs1.Source = "SELECT * FROM nalog_vozilo WHERE (((nalog_vozilo.id_nalog) =" & rs2!id_nalog & ") AND " & _
                "((nalog_vozilo.id_vozilo)= " & rs2!id_vozilo & "));"
    rs1.CursorType = adOpenKeyset
    rs1.LockType = adLockOptimistic
    rs1.Open
    With rs1
        !potni_nalog = rs2!potni_nalog
        !prevozeni_km = rs2!prevozeni_km
        !zkm = rs2!zkm
        !kkm = rs2!kkm
        .Update
    End With
    rs2.MoveNext
Loop
End Sub


Problem nastane že pri izvajanju procedure Public Sub odpri_bazo2(),kjer mi javi da ne more odpreti baze ker je že odprta in zaklenjena ( to je datoteka v kateri so tudi forme)
  • spremenil: sosko1 ()

Mitja Bonča ::

Iz 1. baze naredi DataTable (ali DataSet, če imaš veš njih), nato to uporabi in zapiši v 2. bazo.

papasmrk ::

če je kaj v pomoč :

Lahko pa tudi linkaš tabele iz 1. baze in se potem v 2.bazi sklicuješ na to tabelo.
Accessu lahko npr. poveš da se nek excelov zvezek obnaša kot tabela in tudi to potem uporabiš pri poizvedbah.

sosko1 ::

Sem našel rešitev, težava je bila v definiranju cn1. Pravilno definiranje je naslednje:
Public Sub odpri_bazo2()
' odpre bazo
Set cn1 = CurrentProject.Connection
End Sub


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

access -> word ali excel

Oddelek: Programska oprema
51204 (1145) zavajon
»

SQL INSERT INTO spremenljivka?

Oddelek: Programiranje
71318 (1257) jakec
»

Kako do podatka v queryu iz VisualBasicScripta (VBA) v accessu?

Oddelek: Programiranje
112117 (2002) Fim
»

printanje v VB6.0

Oddelek: Programiranje
7868 (772) Zzzzzzz
»

Visual Basic Developer Site & Forum

Oddelek: Programiranje
261884 (1475) webblod

Več podobnih tem