• DİKKAT !

    Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak Dosya Yükleme tamamen ücretsizdir.

Çözüldü Sql İle veri Kaydetme

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Durum
Konu Çözümlendiği İçin Kapatılmıştır.

Local

Yeni Üye
Katılım
19 Ağu 2023
Mesajlar
304
Çözümler
5
Aldığı beğeni
25
Excel V
Office 2016 TR
Konu Sahibi
Merhaba excel üzerinden sql ile çoklu kayıt yapıyorum 4 kayıt yapıyorum ama sunucuya baktığımda 2. kaydın yerini 1.kayıt almış 3.kaydın yerini 2.kayıt almış bunun sebebi ne olabilir acaba .? Yani verileri vba form üzerinden sırası ile yazıyorum ama sunucuda karışık kaydediyor
 
Çözüm
Birde son olarak bir örnek hazırladım.
resimler klasör içindeki resim adları imzalar sütununda yazıyorsa kod ile listviewe aldırdım.
İmagelist içinede en fazla ne kadar resim vs... alıyor bilmiyorum.İmagelist olmadan yapacaktım zaman olmayınca yapamadım belkide olmuyordur.
userformactivate kodunu inceleyin kendi dosyanıza eklerseniz kütüphaneden microsoft scripting runtime yi seçmeniz gerekecek.
Artık gerisi sizde abey.Umarım anlatabildim.
Merhaba,
Kodlarınızı paylaşabilir misiniz.
Listeleme sorgunuzda sırlama olabilir mi ?
 
Son düzenleme:
Konu Sahibi
Şuan denediğimde yani kayıt yaptığımda excel vba formundan sunucuda 1.sıradaki kayıt 2. sırada 3.sıradaki kayıt 1 .sırada sanırım yer değiştirerek kayıt ediyor ben tam netleştireğim eğer bir hata olursa paylaşayım bilgi veririm .
 
Konu Sahibi
Bu sorun neyden kaynaklanıyor bilmiyorum ama kayıtlarda bir problem yok sadece sırası farklı .Şuan bir sorun görülmüyor dilerseniz benim baska bir sorum olacak.

Bir form üzerinde İmza Al butonu var tıkladığımda dosya penceresi açılıyor ve resim olan imzayı ekliyorum bu imzayı sunucuya keydedip excel vba listview tablosuna çekebilir miyim .Örnek dosyayı yükleyeceğim bu arada .
 
Merhaba,
Listview e resim yolunu ekleyip tıklayınca image nesnesine mi gelsin istiyorsunuz ?
 
Bu sorun neyden kaynaklanıyor bilmiyorum ama kayıtlarda bir problem yok sadece sırası farklı .Şuan bir sorun görülmüyor dilerseniz benim baska bir sorum olacak.

Bir form üzerinde İmza Al butonu var tıkladığımda dosya penceresi açılıyor ve resim olan imzayı ekliyorum bu imzayı sunucuya keydedip excel vba listview tablosuna çekebilir miyim .Örnek dosyayı yükleyeceğim bu arada .

"Birm form üzerinde İmza Al Butonu"nu bulmak için epey vakit kaybetmiş olsam da butonu bulup soru üzerine çalışabildim. Halbuki "UserForm4 üzerindeki sol alt köşede bulunan buton ile resim alıyorum" demiş olsaydınız cevap biraz daha erken olabilirdi diye tahmin ediyorum. Neyse cevabımıza geçelim;

İmage nesnesine resmi aldırdınız ve bunu veritabanına kaydetmek istiyorsunuz.
Burada sorulması gereken pek çok sorular var fakat ben "olduğunu varsaydığım şekilde cevap vereceğim."

Kullandığınız veritabanını Microsoft Access veritabanı olarak düşünüyor ve bu veritabanının kullandığınız excel'in klasörü içerisinde Data.accdb adı ile bulunduğunu varsayıyorum.

Aynı zamanda resmi yükleyeceğiniz veritabanı tablosu adını bilmediğimden, tablo adını "Deneme" olarak kabul ediyorum ve alanlarının da ID Integer, Title String, Image Ole Object olduğunu kabul ederek işlem yapıyorum.

Bu durumda aşağıdaki kod ile veritabanına resim upload edebilir duruma geleceksiniz.

HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.

Listview nesnenizin aşağıdaki gibi göründüğünü varsayıyorum;
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.

CommandButton1 butonu ile de listview olan formunuzda verileri görüntülemek istediğinizi varsayıyorum.


HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.

Resmi görüntülemek için yazılan kodun açıklaması kabaca recordset nesnesi açılır ve do while ile kayıtlar içinde tek tek gezilir. ADODB.Stream ile resim önce bir dosyaya yazılır daha sonra userform içinde bulunan ImageList1 nesnesi içine kod ile alınır, ImageList1 nesnesine alındıktan sonra dosya silinir Kill komutu ile.

Daha sonra ListView1 nesnenizin SmallIcons özelliğine ImageList1 atanır ve bu atama sonrasında tekrar Do While ile kayıtlar arasında dönülür ve listview içine kayıt bilgileriniz ve resimleriniz alınmış olur.
 
Konu Sahibi
Mysql kullanıyorum Hocam ama uyarlayabilirim çok tesekkürler.. Bir sorun olursa tekrar yazarım..
 
Image Ole Object Bu kısmı Referans kısmından ekleyeceğim değilmi
MySQL veritabanınızdaki Tablonuzda resmi tutacağınız alanın veri türünü ifade ediyor. MS Access için Ole Object olarak seçiliyor fakat MySQL için Image gibi seçenekler olabileceğini tahmin ediyorum ya da BinaryData gibi bir şeyler olabilir. Daha önce hiç MySQL kullanmadığım için bilemiyorum.
 
Ayrıca CommandButton1 Click olayı olarak yazdığım kodun içerisinde aşağıdaki satırlar görüntüleme yöntemini anlama açısından önemli
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.

Her bir satırı tek tek açıklayacak olursak;

HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
Bu kod veritabanı tablonuzdaki image dosyanızı çalıştığınız excelin bulunduğu klasöre oluşturuyor.


HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
Bu kod klasör içine oluşturduğumuz resmi forma eklediğimiz ImageList nesnesi içindeki ListImages koleksiyonuna alıyor

HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
ImageList1 nesnesinin koleksiyonuna resmi aldığımız için dosya ile işimiz kalmadığından dosyayı siliyoruz.
 
Konu Sahibi
Sayın aeGNor kodları anlayamadım ben imza al butonunun içerisindemi yazağacım yoksa insert kodlarını yazdığım yeremi
 
Sayın aeGNor kodları anlayamadım ben imza al butonunun içerisindemi yazağacım yoksa insert kodlarını yazdığım yeremi

İş akış sürecinizi bilmediğim için örnek dosya da yüklemiş olsanız daha önce kendi yazmış olduğum kodlardan birinden örnek gönderdim size. Benim yazdığım kodlarla anlatmaya çalıştığım şey ADODB.Stream nesnesi ile sunucuya dosya yükleyip sunucudan dosya çekebilmeye odaklı.

Sizin de tahmin edeceğiniz gibi, sizin kendi kafanızda tasarlayıp aylarca belki de yıllarca uğraştığınız bir projeyi bir örnek dosya ile komple anlayamayız. Anlamaya çalışmak için de vaktimiz yok.
  1. Butona tıklayıp imzayı image nesnenize getirir getirmez sunucuya göndermek mi istiyorsunuz? Yoksa kaydet gibi farklı bir butonla mı yapmak istiyorsunuz?
  2. Sunucuda tutacağınız tablonun adı nedir?
  3. Resim dosyası ile beraber hangi alanlar tutulacak?
  4. Hangi formdaki listviewde göstermek istiyorsunuz?
  5. Herhangi bir arama kriterine göre mi göstermek istiyorsunuz, yoksa hepsi listelenecek mi?
  6. Hangi işlem sonucunda listview dosyasında resim görmek istiyorsunuz?
bana sorarsanız öncelikle yapmakta olduğunuz işin bir algoritmasını çıkarın.

Ya da en azından bu yazdığım kodla butona tıkladığımda ne oluyor/olacak? Ben ne olmasını istiyorum? sorularını sorun kendinize.
 
Konu Sahibi
Öncelikle Userform4 formunda imza al dedikten sonra imzayı yükleyecek ondan sonra Talep isteği aktar butonu var ona tıkladıktan sonra resmi mysql sunucusuna yükleyecek yani formdaki textboxları nasıl insert ediyorsam resmide insert edeceğiz diğer form elemanlarının sunucuya insert etmemde bir problem yok sadece imzayı insert etmemde sorun yaşıyorum .Bütün bunları yaptıktan sonra Userform4 haricinde bir form açıp kayıtları listeleme yaptığımı varsayıyorum AD ,SOYAD,ÜRÜN ADI ,ÜRÜN GRUBU ve İMZA kolonları işte imza kolonunda bu yüklediğimiz imzanında kolonda görünmesini istiyorum .Yani imzayı nasıl insert edeceğim ve bu imzayı listviewde imza kolonunda nasıl göstereceğim.
 
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.

Bu ekleme kodunuz için bir örnek. Yine tablonuzun adını, alanların adlarını ve alan sayısını bilmediğimden kabaca açıklıyorum.
 
Durum
Konu Çözümlendiği İçin Kapatılmıştır.
Geri
Üst