• Bir süredir maillerde yaşanan sorunlar giderilmiştir. Şifremi unuttum yaparak şifrelerinizi mailinizden alabilirsiniz.

  • Foruma hoş geldin 👋 Ziyaretçi

    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 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
Kullanıcı Bilgileri
Aktiflik
Çevrimdışı
Katılım
19 Ağu 2023
Mesajlar
300
Çözümler
5
Aldığı beğeni
25
Excel V
Office 2016 TR
Konuyu Başlatan
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.
Kod:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.

Resmin sunucuya aktarılmasında bu kod bloğu kritik öneme sahip. Adım adım anlatayım.

ADODB.Stream kodundaki Stream Yayın anlamına gelir.
Type özelliğini hangi türde yayın yapacağını belirler. Biz burada dosya aktaracağımız için adTypeBinary olarak ayarlıyoruz (Binary demek dosyanın ikili kodlarını temsil eder. Yani bellekte bulunan 0 (Sıfır) ve 1 (bir) değerlerini. Her dosya, her metin 0 ve 1 lerden oluşur.)

Open ile yayını açık hale getiriyoruz, fakat henüz yayınımızda herhangi bir dosya olmadığı için boş yayın yapıyor.

LoadFromFile ile yayınımıza hangi dosyadan yayın yapacaksa o dosyanın bilgilerini aktarıyoruz.

Hala dosyamızı herhangi bir yere ya da sunucumuza yayınlamaya başlamadık. strm nesnesi dosyamızı bellekte binary olarak tutuyor.
 
Kod:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.

Bu kod with içine rs nesnemizi yani Recordset nesnemizi alıyor. SQL Kullanmaya karar verdiğinize ve kullanabildiğinize göre ActiveConnection nedir, LockType nedir, CursorType nedir gibi şeyleri açıklamadan devam ediyorum (Bunları biliyor olmalısınız)

Buradaki kritik mesele ise Open ile açtığımız Recordset nesnemize AddNew ile yeni bir satır ekliyoruz. Eklediğimiz satırın Fieldlerine (Yani alanlarına) değerler aktarılıyor. .Fields("ADI").value = txt_ad.value kodumuz buna bir örnek.

nasıl ki ADI, SOYADI gibi alanlara değer gönderirken txt_ad.value gibi bir yöntem kullanıyorsak resmi ekleyeceğiniz alan için de benzer bir şey yapıyoruz. Resmi ekleyeceğiniz alan adınızı Image olarak belirlediniz diyelim. Ya da daha anlaşılır olması açısından ImzaResmi diyelim. Bu durumda .Fields("ImzaResmi").value = strm.Read yapmamızla alana resmi eklemiş olur.

Bu Stream yani yayın nesnesindeki değerleri oku anlamına gelir.

Tablonuzda AddNew ile oluşturduğumuz satırın alanlarına değerleri almaya başladık ama AddNew tabloya henüz yeni bir satır eklemiş değil. Update yapmadığımız sürece sadece geçici bellekte bir satır olarak tutulur.

Son olarak Update ile alanların verilerini ayarladığımız NewRow gerçekte veritabanımızdaki tablomuza verileri gönderir.
 
Peki ben bu Add new kısmını insert olarak ekleyebilirm değilmi ben verileri insert olarak gönderiyorum geri kalan kısmımları sizin verdiğiniz kodlara göre ayarlayacağım resimle ilgili olanları
 
Peki ben bu Add new kısmını insert olarak ekleyebilirm değilmi ben verileri insert olarak gönderiyorum geri kalan kısmımları sizin verdiğiniz kodlara göre ayarlayacağım resimle ilgili olanları
Insert Into ile Resim aktarmanız mümkün değil (Mümkünse de ben bir yolunu bilmiyorum).

Sunucuya Dosya göndermek String, Integer, Date vb. değerleri göndermekle aynı şey değil. Dolayısıyla dosyalarımızı ADOB.Stream nesnesi ile aktarmak durumundayız.

Burada anlamanız gereken şey adBinaryType'ın ne anlama geldiği.

Diyelim ki Resminiz bellekte 100 tane 0 ve 1 den oluşuyor.

Stream nesnesi bütün bu 0 ve 1 leri bizim için bir dizi içine alıyor. Daha sonra aşağıdaki gibi,

Kod:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
kod satırı ile her bir dizi elemanını döngü ile tek tek alana gönderiyor.

Yani sizin sunucunuzda Resim dosyası olarak değil ikili kodlar olarak tutuluyor resim dosyanız.
 
Tamam hocam ben sizin yoldan yapayım en iyisi
 
Tamam hocam ben sizin yoldan yapayım en iyisi
Command nesnesi oluşturup parametre ile de gönderilebilir ama oraya girersek hiç çıkamayız. Böylesi daha basit ve anlaşılır.
 
Hocam bu sunucu tarafı biraz skıntılı oldu bende en azıncan geçici olarak excel hücresinden listview kolonuna bir imaj resmi nasıl çekebilirim excel sayfamda bir örnek var mesela P satırında imzalar var bunları listviewe nasıl tasıyabilirim bu kjodları revize edene kadar.
 
Hocam bu sunucu tarafı biraz skıntılı oldu bende en azıncan geçici olarak excel hücresinden listview kolonuna bir imaj resmi nasıl çekebilirim excel sayfamda bir örnek var mesela P satırında imzalar var bunları listviewe nasıl tasıyabilirim bu kjodları revize edene kadar.
Ben ADODB öğrendikten sonra herhangi bir verimi MS Access Yada MS SQL Server dışında herhangi bir yerde tutmadığım için hemen hemen ADODB dışında hiç bir şey hatırlamıyorum desem yeridir maalesef. Umarım diğer arkadaşlardan yardımcı olabilecek çıkar.
 
en azıncan geçici olarak excel hücresinden listview kolonuna bir imaj resmi nasıl çekebilirim excel sayfamda bir örnek var mesela P satırında imzalar var bunları listviewe nasıl tasıyabilirim
Bir örnek vardı orda Imagelist nesnesine resimler alınıyor orda özelliklerden almıştım gifteki gibi ama kod ilede alınır sanıyorum videolarda vardır youtubede.

İmageliste alınca artık kod ile ya index yada key gibi olanları kriter olarak resimleri alırsınız örneğide ekledim.
Dosyanızda hiç resim olmadığı için uğraşmadım ama tahminen yaparsınız ve size önceden link atmıştım listviewe resim alma için ordanda bakabilirsiniz zaten zannediyorum zor değil.

11.gif
 

Ekli dosyalar

  • imagelist resim alma.xlsb
    24.9 KB · Gösterim: 2
Hocam resim nesnesini kolona nasıl çekeriz peki listview'e
 
Hocam resim nesnesini kolona nasıl çekeriz peki listview'e
Döngü ile çekilir zannediyorum.Örnek dosyaya resimler yükleyin ve nereye hangi resim gelecek yazın akşam bakayım.Daha önce hiç uğraşmadım ama mantıken yapılır zannediyorum imagelist ile.
 
Resimleri buradan yükleyeyim olurmu 3 tane dosyayada yazarım resimlerin nereye geleceği ile ilgili
 
Resimleri buradan yükleyeyim olurmu 3 tane dosyayada yazarım resimlerin nereye geleceği ile ilgili
Tamam abey.Eklemişkende tekrar teferrutlıca anlatırsanız neye tıklayınca vs... iyi olur tekrar mesajları okumak yerine.
 
Ekteki dosyamda User Form4 formunda Talep Formu yer almaktadır .Ben bu formda normal kayıtları yapabiliyorum hatta Talep İsteği aktar butonunda kayıt kodları mevcuttur.Önce Sol altta bulunan kısımda İmza al butonu ile imza resmini alıp imaje kısmına ekliyorum.Ekledikten sonra formdaki diğer alanları doldurduğumuzu varsayarak Talep isteği aktar butonuna tıklıyorum.Kaydedilen sayfa adı Sayfa 3 kayıtlar buraya ekleniyor .



TALEP NUMARASITALEP TARİHİBİRİMBİRİM YERİPersonel AdPersonel SoyadSIRA NUMARASIMALZEMENİN TANIMIDİĞER TANIMBİRİMMİKTARGENEL AÇIKLAMATESLİM TARİHİİMZALAR


bu da yukardaki kayıt yaptığımız excel sayfasının başlıklarıdırı.Kayıtlarımız buraya geliyor burada eklediğimiz imzanın imzalar Satırına gelmesini istiyorum ben formda örnek olsun diye 1 tane ekledim normalde 4 tane , en azından bir tanesini yapıp diğerlerinide uyarlarım diye düşündüm Öğleden önce imagelist nesnesini ekledim normalde benim Additional Controls penceresi açılmıyor onu nasıl ekledim derseniz sizin Multipage örnekli dosyayı ve ana projemi açıp ana projeme copy - paste yaptım.İmza örneklerimi daha önce silmiştim örnek olsun diye bu resimleri ekledim bilginiz olsun .Eğer burdan yapamazsak aksam yine bir bağlantı sağlayabiliriz.Daha sonra bu imzaları listview İmzalar kolonunda göstermek istiyorum.
 

Ekli dosyalar

  • örnek dosya1 talep (1).xlsm
    434.9 KB · Gösterim: 3
  • ana sayfa 2.jpg
    ana sayfa 2.jpg
    3.5 KB · Gösterim: 1
  • ana sayfa30.jpg
    ana sayfa30.jpg
    13 KB · Gösterim: 1
  • geri dön.jpg
    geri dön.jpg
    7.6 KB · Gösterim: 1
Abey düşündüklerimi yapamadım :(
Kolay gelsin.
 
Bir umutla bekliyorum bakalım Hocam
 
Aslında alttaki linkte(Almanca) adam anlatmış ve oluyor imagelist ile oluyor birde ona göre uğraşırım sonra.Tabii sizde videoyu inceleyip anlamaya çalışabilirsiniz.

 
Videoyu izleyerek resim ekletebildim.
Listviewe bir imza gibi adında sütun açılması gerekiyor ben örnek olarak ekledim.
Userformactivate koduna alttaki gibi ekledim.

imagelist içinede manuel resimleri ekledim siz kod ilede alırsınız.

imagelist içindeki resim kez adı ve koddaki şart adı aynı olmalı.Dosyayı inceleyin.
Normalde listviewe sütun eklemeye gerek olmayabilirdi ama resim adlarını aramak için yapıldı.

77.gif

C#:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
 

Ekli dosyalar

  • Neuer Ordner.zip
    466.4 KB · Gösterim: 5
Durum
Konu Çözümlendiği İçin Kapatılmıştır.
Geri
Üst