Eczane Programları Yapmak

29/12/2010, 18:22

Şeyma462

biz geldik. Hemen dediklerinizi yapmaya başlıyoruz
29/12/2010, 18:28

arifeaccess

(29/12/2010, 16:57)Hayri16 yazdı: Madem Öğretmenininz Sql le olmasın dedi , O halde biz ADO kullanarak bu işi yapalım.
ADO için öncelikle Kod sayfamızın üstünde bulunan menüden Tools u seçip, referanslara tıklıyoruz. gelen Pencerede Microsoft ActiveX Data Objects 2.8 Library i bulup veritabanımıza ekliyoruz.


Önce bir kayıt nesnesi tanımlamamız gerekiyor.
Dim kyt As New ADODB.Recordset
Bu kodla kyt adlı değişkenimizin yeni bir ADO kayıt seti olduğunu accesse bildiriyoruz.
Sonra tablomuzu açıyoruz.
kyt.Open "T_GIRIS", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
Bu kodun adLockOptimistic adlı kısmı tabloyu ekleme, silme,değiştirme yapmak üzere açar.
Eğer adLockReadOnly bu kodu kullanarak açsaydık kayıtları sadece okuyabilirdik. Üzerinde değişiklik yapılamazdı.

kyt.AddNew
kyt.Fields("firmano") = firmakutu
kyt.Fields("fattar") = ffattar
kyt.Fields("fatno") = ffatno
kyt.Update

kyt adlı kayıt setimize Add.New diyerek yeni ekleme yapacağımızı söylüyoruz. Sonra bu kyt setimizin "firmano" adlı alanımıza firmakutu değerini, "fattar" alanına ffattar değerini, "fatno" alanına ise ffatno değerini eşitlediğimizi söylüyoruz.
Update komutuyla tablomuzu güncelleyip kaydediyoruz.

kyt.Close 'kyt setimizi kapatıyoruz.
Set kyt = Nothing ' ADO ile bağlantımızı kesiyoruz.
Sonuçta yeni kodumuz ;
Private Sub fatkaydet_Click()
Dim kyt As New ADODB.Recordset
kyt.Open "T_GIRIS", CurrentProject.Connection, adOpenKeyset, adLockOptimistic

kyt.AddNew
kyt.Fields("firmano") = firmakutu
kyt.Fields("fattar") = ffattar
kyt.Fields("fatno") = ffatno
kyt.Update

kyt.Close
Set kyt = Nothing

MsgBox (" KAYIT TAMAM ")
End Sub
böyle oluyor. Burada benim kullanmadığım ama çok sayıda veri girişlerinde kullanılan bir yöntem var. Onu da belirtmek isterim.
With-End with yöntemi.
Çok sayıda tekrarlanan kayıt setini bununla yazabiliyoruz.
Yukarıdaki kısmı şöyle yazdığımızda da aynı sonucu alırız.

With kyt
.AddNew
.Fields("firmano") = firmakutu
.Fields("fattar") = ffattar
.Fields("fatno") = ffatno
.Update
End With

Fatura bilgilerini kaydettik. Yukarıda yazdığım Hata kontrol meselesi aynen burada da geçerli.

"BU KISMI ANLAYAMADIM KONUYA AÇIKLIK GETİRE BİLİR MİSİNİZ ???"
29/12/2010, 19:52

arifeaccess

Ben yaptım ama açılır kutuma sorgumdaki değerler gelmiyor...
29/12/2010, 20:04

Hayri16

Değerli Arkadaşlar;
Şimdiye kadar yaptığımız çalışmaların program haline getirilmiş şekli
ORNEKECZANE-3 eklentisi olarak sunulmuştur.
Programı inceleyin ve üzerinde konuşalım.
Arife linkini gönderdiğim ADO yazısını okudun mu?
29/12/2010, 20:11

Şeyma462

ben yaptım. firmaya göre ilaç geliyor fakat Fiyatı falan hesaplamıyor. kaydete basıyorm kaydedıldı dıyor ama nereye bulamadım.
29/12/2010, 20:12

Hayri16

Son programı indirip baktın mı? Orada mı yapıyorsun işlemleri?
Formumuzun görüntüsü aşağıdaki gibi.



Şimdi bunu tek tek açıklayalım.