worksheet teki kayıtları mdb dosyasına eklemek

Katılım
1 Mart 2007
Mesajlar
72
Excel Vers. ve Dili
2003 ingilizce
bir yerde sorun var ama anlamıyorum. rapor isimli bir sayfadaki A dan L ye kadar olan 1 satırı oldugu gibi urunler-stok.mdb dosyasının içindeki raporlama adlı tabloya gonderek istiyorum. bunu her seferinde alt alta ekleterek bir raporlama dosyası olurşturmak istiyorum. lakin kod hata vermemesine ragmen istediğim seyi yapmıyor. ben mi bir noktayı kacırıyorum anlayamadım.



Sheet7.Select
Dim cn As ADODB.Connection, rs As ADODB.Recordset, r As Long
' connect to the Access database
Set cn = New ADODB.Connection
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; " & _
"Data Source=U:\urunler-stok.mdb;"
' open a recordset
Set rs = New ADODB.Recordset
rs.Open "Raporlama", cn, adOpenKeyset, adLockOptimistic, adCmdTable
' all records in a table
r = 2 ' the start row in the worksheet
Do While Len(Range("p" & r).Formula) > 0
' repeat until first empty cell in column A
With rs
.AddNew ' create a new record
' add values to each field in the record
.Fields("FATURA NO") = Range("A" & r).Value
.Fields("FATURA TARİHİ") = Range("B" & r).Value
.Fields("FATURA AYLARI") = Range("C" & r).Value
.Fields("FATURA İSMİ") = Range("D" & r).Value
.Fields("FATURA VADESİ") = Range("E" & r).Value
.Fields("VADE AYLARI") = Range("F" & r).Value
.Fields("Fatura Detayı") = Range("G" & r).Value
.Fields("Fiyat (€)") = Range("H" & r).Value
.Fields("Fiyat (YTL)") = Range("I" & r).Value
.Fields("KUR") = Range("J" & r).Value
.Fields("TUTAR (€)") = Range("K" & r).Value
.Fields("TUTAR (YTL)") = Range("L" & r).Value

' add more fields if necessary...
.Update ' stores the new record
End With
r = r + 1 ' next row
Loop
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing

Sayfa1.Select

' End Sub
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
DEBUG yaptığınızda;

Kod:
Do While Len(Range("p" & r).Formula) > 0
bu satırdan sonra atlama oluyor mu? yoksa normal olarak bundan bir sonraki satıra mı geçiyor?
 
Katılım
1 Mart 2007
Mesajlar
72
Excel Vers. ve Dili
2003 ingilizce
DEBUG yaptığınızda;

Kod:
Do While Len(Range("p" & r).Formula) > 0
bu satırdan sonra atlama oluyor mu? yoksa normal olarak bundan bir sonraki satıra mı geçiyor?
okadar hızlı debug yapmısım kı burayı atladıgını farketmedim. ancak basit dosyalarımda çalışıyordu bu kod. sadece bu yenisine uyarladıgımda simdi atlama yapıyor.
 
Katılım
1 Mart 2007
Mesajlar
72
Excel Vers. ve Dili
2003 ingilizce
esasında benım yapmak ıstedıgım su:

resimlerde de gorebileceginiz gibi excel ve access ten olusan bir fatura programı kullanıyorum ve her faturanın raporlama amacıyla, fatura ıcerıgı ıle bırlıkte fatura kaydedilirken ayrı bir raporlama sayfasına eklenmesini istiyorum. bunu simdiye kadar manuel yapıyordum ama simdi bunu da birlestirmeyi dusundum.
1. resim fatura kesme sayfası
2. resim fatura detayına ilişkin raporlamaya gonderilecek ozet fatura detay ve ozetı
3. resim faturada yer alan urunlerin detaylarını nasıl birlestirdigim (urun adı ve kg.)
4. resim probleme ait mesaj
5. module de kaldıgım yer

sorun su ki; daha onceki sorunu duzelttim ancak simdide soyle bir uyarı mesajı veriyor;

"Alan, eklemeyi denediğiniz veri miktarını kabul edemeyecek kadar küçük. daha az veri eklemeyi ve yapıştırmayı deneyin"

msd dosyasında ki tabloyu actım ancak 50 karakter alabiliyor. bu sorun nasıl cozerım?


By kaysersoze at 2007-09-03


By kaysersoze at 2007-09-03


By kaysersoze at 2007-09-03


By kaysersoze at 2007-09-03


By kaysersoze at 2007-09-03
 
Son düzenleme:
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Hangi satırda yapıyor bu hatayı? Kodlardaki alan sayısı ile mdb dosyadaki alan sayısı eşit mi?
 
Katılım
1 Mart 2007
Mesajlar
72
Excel Vers. ve Dili
2003 ingilizce
Hangi satırda yapıyor bu hatayı? Kodlardaki alan sayısı ile mdb dosyadaki alan sayısı eşit mi?
alan sayılarını ısımlerını vs. hallettim. sımdı sorun yasadıgım yer fatura detayı kısmının cok buyuk oldugunu soyluyor. bunu nasıl cozerim bulamadım ancak
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Sn.Hakan439

mdb 'deki "Fatura Detayı" alanının veri türü sanırım metin olarak belirlenmiş ve 50 karakter default bırakılmış. Zaten bu veri tipi 255 karakterere kadar verileri destekliyor.

Bunun yerine "Fatura Detayı" alanının veri tipini "Not" olarak değiştirip deneyiniz.
 
Katılım
1 Mart 2007
Mesajlar
72
Excel Vers. ve Dili
2003 ingilizce
Sn.Hakan439

mdb 'deki "Fatura Detayı" alanının veri türü sanırım metin olarak belirlenmiş ve 50 karakter default bırakılmış. Zaten bu veri tipi 255 karakterere kadar verileri destekliyor.

Bunun yerine "Fatura Detayı" alanının veri tipini "Not" olarak değiştirip deneyiniz.
bu dediginiz kısmı nasıl degistirebilirm? bulamadım cunku nerden ve nasıl degistirecegimi!
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
"U:\urunler-stok.mdb" adlı veritabanı dosyanızı açın. Karşınıza "Tablolar" sekmesi çıkacak. "Fatura Detayı" alanının bulunduğu tabloyu seçin. Sağ mouse tuşuna basın ve "Tasarım Görünümü"nü seçin.

Şimdi karşınıza gelen ekranda "Fatura Detayı" yazan alanın veri tipini "Not" olarak değiştirin. Sizde bu veri tipi "Metin" olarak belirlenmiş. Değiştirin.
 
Katılım
1 Mart 2007
Mesajlar
72
Excel Vers. ve Dili
2003 ingilizce
Sn.Hakan439

mdb 'deki "Fatura Detayı" alanının veri türü sanırım metin olarak belirlenmiş ve 50 karakter default bırakılmış. Zaten bu veri tipi 255 karakterere kadar verileri destekliyor.

Bunun yerine "Fatura Detayı" alanının veri tipini "Not" olarak değiştirip deneyiniz.

bende ingilizce oldugu icin sanırım memo oluyor not dediginiz kısım. onu da yaptım, simdiden boyle bir uyar mesajı cıkıyor.



debug dedigimde devam ettigimde unknown error dıyor. bunu baska turlu yapma sansım yok mu? mdb e gonderip cekene kadar, baska bir excel dosyasına aktaramazmıyım direk? katıtları alt alta eklicek ama...
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Excel dosyanızın resimleri yerine mdb dosyanızın resimlerini gönderir misiniz? Özellikle tablonun tasarım görünümündeki halini...
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
bunu baska turlu yapma sansım yok mu? mdb e gonderip cekene kadar, baska bir excel dosyasına aktaramazmıyım direk? katıtları alt alta eklicek ama...
Tabi ki var ama elinizdeki kodlar, ilgili "mdb" dosya olmadan çalışmaz. Eğer başka şans derseniz, kodlarınızın tümünü yeniden yazmak gerekecek.
 
Katılım
1 Mart 2007
Mesajlar
72
Excel Vers. ve Dili
2003 ingilizce
Tabi ki var ama elinizdeki kodlar, ilgili "mdb" dosya olmadan çalışmaz. Eğer başka şans derseniz, kodlarınızın tümünü yeniden yazmak gerekecek.
sn. fpc, dosyayı ekte gonderiyorum. rar dosyasını d ye oldugu gibi cıkarınız. ve de bu klasoru paylasıma acıp, u: isimli bir nework drive olarak map etmeniz gerekiyor. daha sonra fatura. xls dosyasının masaustune bir kısayolunu atarsanız olcak.
 
Üst