Skip to main content

AccessTr.neT


Döngü İle Excele Veri Aktarmak

Döngü İle Excele Veri Aktarmak

#12
Kod:
On Error Resume Next
  DoCmd.SetWarnings False

Dim rs As Recordset
Dim rs2 As Recordset
Dim KTP As Excel.Workbook
Dim SYF As Excel.Worksheet
   
    Set Excl = New Excel.Application
    With Excl
      .Application.Visible = True
      .UserControl = True

    End With
        Excl.DisplayAlerts = False
        Set KTP = Excl.Workbooks.Add
        KTP.SaveAs (CurrentProject.Path & "\deneme3.xlsx")
               
        Set rs2 = CurrentDb.OpenRecordset("Alinan_Malzeme_Giris")



Dim ş
Dim ğ
ğ = 1
ş = 1
Do Until rs2.EOF
 
        SyfAdi = rs2(1) & " " & rs2(2)
            SyfAdiTmp = SyfAdi
            SyfNo = 0
            Do While WorksheetExists(SyfAdiTmp, KTP) = True
            SyfNo = SyfNo + 1
            SyfAdiTmp = SyfAdi & IIf(SyfNo = 0, "", "(" & SyfNo & ")")
            Loop
            Excl.Sheets.Add.Name = SyfAdiTmp
           
           
            Excl.Range("A1") = "Malzeme Adı"
            Excl.Range("B1") = "Seri No"
            Excl.Range("C1") = "Miktar"
            Excl.Range("D1") = "ALINANID"
         
Me.Metin1 = rs2(0)
DoCmd.SetWarnings False
DoCmd.RunSQL ("SELECT Tablo1.Harcanan_ID, Tablo1.Malzeme_Adi, Tablo1.Malzeme_Seri_No, Tablo1.Alinan_ID, Alinan_Malzeme_Giris.Malzeme_Grubu, Alinan_Malzeme_Giris.Malzeme_Adi INTO gecici_malzeme" & ğ & " FROM Tablo1 INNER JOIN Alinan_Malzeme_Giris ON Tablo1.Alinan_ID = Alinan_Malzeme_Giris.Alinan_ID WHERE (((Tablo1.Alinan_ID)=[Formlar]![Form1]![Metin1]));")
DoCmd.SetWarnings True
  ğ = ğ + 1


  rs2.MoveNext
Dim i
i = 1


Set rs = CurrentDb.OpenRecordset("gecici_malzeme" & ğ - 1)

Do Until rs.EOF

Excl.Sheets(rs(4) & " " & rs(5)).Select



              Excl.Range("A" & i + 1).Value = rs(0)
              Excl.Range("B" & i + 1).Value = rs(1)
              Excl.Range("C" & i + 1).Value = rs(2)
              Excl.Range("D" & i + 1).Value = rs(3)
i = i + 1


rs.MoveNext

    Loop
    rs.Close

  Loop
rs2.Close
 
 
    Excl.Visible = True

    Set MyRecordset = Nothing
    Set Excl = Nothing
    Set KTP = Nothing
    Set SYF = Nothing
    Set rs = Nothing
    DoCmd.SetWarnings True
 

 
  On Error GoTo a
Dim ç
ç = 1

Do Until pp

DoCmd.DeleteObject acTable, "gecici_malzeme" & ç
        ç = ç + 1

    Loop
rs.Close
a: Exit Sub
 

Exit Sub


Bu şekilde çözdüm sorunumu. Sayın hocalarım teşekkür ederim.
Son Düzenleme: 16/10/2021, 15:08, Düzenleyen: lemoncher2.
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da

Bu Konudaki Yorumlar
Döngü İle Excele Veri Aktarmak - Yazar: lemoncher2 - 15/10/2021, 17:36
RE: Döngü İle Excele Veri Aktarmak - Yazar: berduş - 15/10/2021, 18:16
RE: Döngü İle Excele Veri Aktarmak - Yazar: berduş - 15/10/2021, 22:15
RE: Döngü İle Excele Veri Aktarmak - Yazar: userx - 16/10/2021, 03:20
RE: Döngü İle Excele Veri Aktarmak - Yazar: userx - 16/10/2021, 11:56
RE: Döngü İle Excele Veri Aktarmak - Yazar: lemoncher2 - 16/10/2021, 15:08
RE: Döngü İle Excele Veri Aktarmak - Yazar: userx - 16/10/2021, 20:33
RE: Döngü İle Excele Veri Aktarmak - Yazar: userx - 16/10/2021, 23:15
Task