Prikazi cijelu temu 15.02.2011 19:08
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Lokacija:Osijek


Predmet:Kopiranje u više tablica odjednom
Knjiženje u skladiÅ¡tu napravio sam na slijedeći način:

Imam tablice
Temp_Transakcije i Temp_Izlaz u koje kroe napunim formu frmIzlaz

Ispod dugmeta „Knjiženej“ koji mi podatke iz ovih privremenit tablica kopira u tablice
tblTransakcijeIzlaz
i
Izlaz

Kod je slijedeči:
PreuzmiIzvorni kôd (vbnet):
  1. Private Sub Command_Knjizenje_Click()
  2. On Error GoTo Err_Command_Knjizenje_Click
  3.  
  4.     Dim Baza As Database
  5.     Dim Sl_Transakcije As Recordset
  6.     Dim Sl_TransakcijeUpis As Recordset
  7.     Dim Sl_Upis As Recordset
  8.     Dim Sl_Ulaz  As Recordset
  9.     Dim rs As Recordset 'novo
  10.     Dim mySQL As String 'novo
  11.     Set Baza = CurrentDb()  ' Setovanje
  12.    
  13.     Set Sl_Transakcije = Baza.OpenRecordset("tblTransakcijeIzlaz", dbOpenDynaset) ' Tablica U koju se prebacuje
  14.     Set Sl_TransakcijeUpis = Baza.OpenRecordset("Temp_tblTransakcije", dbOpenDynaset) 'Tablica iz koje se prebacuje
  15.    
  16.     Set Sl_Ulaz = Baza.OpenRecordset("Izlaz", dbOpenDynaset) ' Tablica U koju se prebacuje
  17.     Set Sl_Upis = Baza.OpenRecordset("Temp_Izlaz", dbOpenDynaset) 'Tablica iz koje se prebacuje
  18.    
  19.    
  20.    
  21. If Sl_TransakcijeUpis.RecordCount > 0 Then
  22.     Sl_TransakcijeUpis.MoveFirst
  23.     While Not Sl_TransakcijeUpis.EOF
  24.         With Sl_Transakcije
  25.             .AddNew
  26.             ![IDTransakcije] = Sl_TransakcijeUpis![IDTransakcije]
  27.             ![Datum] = Sl_TransakcijeUpis![Datum]
  28.             ![IDdokumenta] = Sl_TransakcijeUpis![IDdokumenta]
  29.             ![BrDokumenta] = Sl_TransakcijeUpis![BrDokumenta]
  30.             ![IDKlijenta] = Sl_TransakcijeUpis![IDDobavljaca]
  31.             ![RadniNalog] = Sl_TransakcijeUpis![RadniNalog]
  32.             .Update
  33.         End With
  34.        
  35.         Sl_TransakcijeUpis.MoveNext
  36.         Wend
  37.  
  38. End If
  39.  
  40.     If Sl_Upis.RecordCount > 0 Then
  41.         Sl_Upis.MoveFirst            'otidi na prvi slog tablice UlazUpis
  42.         While Not Sl_Upis.EOF        '  vrti petlju za sve slogove
  43.             With Sl_Ulaz
  44.                .AddNew
  45.                ![IDTransakcije] = Sl_Upis![IDTransakcije]
  46.                ![SIFRA] = Sl_Upis![SIFRA]
  47.                ![Skl] = Sl_Upis![Skl]
  48.                ![Kolicina] = Sl_Upis![Kolicina]
  49.                .Update
  50.             End With
  51.     mySQL = "SELECT * FROM tblOtpremniceStavke WHERE Sifra =" & SIFRA 'Novo
  52.    
  53.     Do While Not rs.EOF 'Novo
  54.     rs.Edit
  55.     rs!Proknjizeno = 1
  56.     rs.Update
  57.     rs.MoveNext
  58.     Loop
  59.     rs.Close
  60.    
  61.    
  62.             Sl_Upis.MoveNext
  63.         Wend
  64.     Else
  65.         MsgBox "Nema podataka za knjiženje", vbInformation, "Upozorenje"
  66.         GoTo Kraj
  67.     End If
  68.     CurrentDb.Execute "DELETE*FROM [Temp_tblTransakcije]"
  69.     CurrentDb.Execute "DELETE*FROM [Temp_izlaz]"
  70.     DoCmd.Requery
  71.     MsgBox "KNJIŽENJE JE ZAVRÅ ENO, KARTICE SU AŽURIRANE", , "Obavijest"
  72. Kraj:
  73.     Set Baza = Nothing
  74.    
  75. Exit_Command_Knjizenje_Click:
  76. Exit Sub
  77.  
  78. Err_Command_Knjizenje_Click:
  79.  
  80. Select Case err.Number
  81. Case 3201
  82. MsgBox "Niste upisali podatak"
  83.  
  84. Cancel = True
  85. Case 3167
  86. MsgBox "Podatak je obrisan", , "Pokušaj ponovno"
  87. Case Else
  88.     MsgBox "Greska broj " & err.Number & vbCrLf & err.Description & vbCrLf & "u funkciji knjizenje()"
  89.     End Select
  90. Resume Exit_Command_Knjizenje_Click
  91. End Sub

Sada imam problem kako dodati i dio koji će mi joÅ¡ i u tablici tblOtpremnicaStavke u polju Prokljiženo 0 promjeniti u 1, kako bi i tu bilo obilježeno da je stavka proknjižene, a ujedno i dodati ID operatora koji je izvrÅ¡io promjene.
Pozdrav