korumalı excel dosyasına veri gönderme

1 2
16/02/2013, 23:24

zipir37

Oluşturduğum formdan belli alanlardaki verileri sabit bir Excel dosyasına belli hücrelere gönderiyorum. forumda aramama ve hemen hemen her örneği incelememe rağmen Access konusunda yeteri kadar bilgiye sahip olmadığım için başaramadığım iki olay var.
BİRİNCİSİ: gönderdiğim dosyadaki formdaki(F_ODEME) adısoyadı, tcnu,iban,tutar ve açıklama alanlarını banka listesi.xls dosyasındaki sırasıyla a,b,f,g,h sütünlarına accessdeki sütün başlıkları olmadan yerleştirmek
İKİNCİSİ: bu Excel dosyasına ODEME_TARIHI ve DOSYA_ADI alanlarına girdiğim değerlerle isim vererek ayrı Excel dosyası olarak kaydetmek.
NOT: Excel dosyasının formatının olduğu gibi kalması gerekiyor.dosya korumalıdır.

Arkadaşlar yardımlarınızı bekliyorum.
19/02/2013, 00:42

zipir37

Access bu sorum karşısında çaresiz galiba Kimseden bir cevap alamadım.
19/02/2013, 02:18

Yandemir

dosya koruma yerine hücre kilitleme kullanın.
19/02/2013, 10:53

fatih karagöl

sn zipir mantık olarak ikinci kısmı manuel yapacaksınız sanırım.
ilk kısıma gelince, istediğnizi doğru anlamışsam; döngü kullanmanız gerek.
örnek kodları takip ederek tamamlayın. bir kaç alan attırdım ben.

Private Sub Komut18_Click()
Dim exceldosyasi As Object
Dim Klasor As String, strPersonel As String
Set exceldosyasi = CreateObject("Excel.Application")
Klasor = CurrentProject.Path & "\BANKA_LISTESI.xls"
Set Con1 = Application.CurrentProject.Connection
Set rst1 = CreateObject("ADODB.Recordset")
rst1.CursorLocation = adUseClient
currentCell = 13

With exceldosyasi
.Visible = True
.Workbooks.Open Klasor
.UserControl = True
.Range("A13:I1084").Select
.Application.CutCopyMode = False
.Selection.ClearContents
Sql = "select * from Q_ODEME_DETAY"
rst1.Open SQL, Con1, adOpenStatic, adLockBatchOptimistic
Do While Not rst1.EOF
.Range("B8").Value = Me.ODEME_KODU
.Range("B7").Value = Me.Metin32
.Range("B6").Value = Me.PARA_CINSI
.Range("B3").Value = Me.HESAP
.Range("B9").Value = Me.ACIKLAMA
intPersonel = rst1.Fields("ADI_SOYADI"): strPersonel = Dlookup ("ADI_SOYADI", "T_BILGILER", "kimlik = " & intPersonel & "")
.Cells(currentCell, 1) = strPersonel
.Cells(currentCell, 2) = rst1.Fields("TC_NU")
'.Cells(currentCell, 5) = 12 ' örnek olarak koydum. veri doğrulamasından geçtiği için veri kontrolü burda yapılmalıdır.
.Cells(currentCell, 6) = rst1.Fields("IBAN_NU")
currentCell = currentCell + 1
rst1.MoveNext
Loop


End With


End Sub
19/02/2013, 12:33

zipir37

Sn.Yandemir korumalı Excel dosyası hazır geldiği için değiştirme yada başka bir dosya kullanma şansım yok malesef.

Sn.Fatih Karagöl, öncelikle ilginiz ve yardımınız için çok teşekkür ederim. Bir nokta hariç yapmak istediğim buydu. Kayıtları excele atarken tüm kayıtları gönderiyor. Benim yapmak istediğim odeme_nu göre göndermek. örneğin 3 numaralı ödemeye ait kayıtları atmak ve bunu ayrı Excel dosyası olarak kaydetmek, daha sonra 4 numaralı ödemeye ait kayıtları excele gönderip onuda ayrı kaydetmek. kısaca herbir ödeme ayrı ayrı Excel dosyasında saklanacak.
24/02/2013, 00:12

fatih karagöl

Sn zipir
istediğiniz işi yapan eki yüklüyorum.
detayları takip ederek uyarlamasını yapabilirsiniz
1 2