AccessTr.neT

Tam Versiyon: sql sorgusu sorunu
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Sayfalar: 1 2 3 4
Kusura bakmayın örnek veritabanları dosyası çok büyük olduğu için örnek ekliyemiyorum. (76.000) hasta kaydı var.

Aynı db içinde 2 tablom var

1. table içinde (3 yıllık eski hasta kayıtları)
SNo(Birinci anahtar), TCKimlikNo, Adi, Soyadı, adres, tlf gibi alan adları mevcut

2. table içinde (yeni başvuran hastalar)
kisilerID(Birincil anhtar), adi, soyadi, dogumtarihi, adres, telefon gibi alanlar mevcut.

2 table'dan ayrı formları mevcut.

Sorum şu :

1. tablo içindeki verileri (Form'un üzerinde) ekle gibi bir buton yapıb o hastanın bilgilerini 2. table içine yazdırmak istiyorum.

Bir yerden bulmuştum. Buton'un Tıklatıldığında olay kısmına hangi sorguyu yazmalıyız.

sql_cumlesi = "INSERT INTO 1.table ..... VALUES ......" gibi örnek Sql cümlesi yazabilirmisiniz


Dim sql_cumlesi as String

sql_cumlesi = "INSERT INTO TABLO_ADI (Alan1, Alan2, ... , AlanXX) VALUES (Deger1, Deger2, ... , DegerXX)"
DoCmd.RunSSL sql_cumlesi

Tabi hiç Sql yazmadan da yapılabilecek şeyler var uygulamayı görmek lazım.
Private Sub ekle_Click()
Dim sql_cumlesi As String

sql_cumlesi = "INSERT INTO (tcKimlikNo, babaAdi,....) VALUES (......)"

DoCMD.RunSSL sql_cumlesi

demiştim fakat

Compile error
Method or data member not found diyor ve .RunSSL ibaresi mavi renkte


(BU arada heriki tablo'nun birinci anahtarlari birbirleri ile ilişkili değil)
Tablo adınızı yazmayı unutmuşsunuz. Bu arada mesaja kod eklerken hemen bu yazıyı yazdığınız yerin üstündeki butonlardan Vba yazana iki defa tıklayıp kodlarınızın araya yapıştırırsanız çok daha düzenli görünür.

NOT : Her iki tablonun hiç bir şekilde ilişkili olmasına gerek yoktur zaten.
Tablo adını yazmıştımda

Hocam sorunu buldum. Siz Do.CMD.RunSSL yazmışsınız aceleyle gözünüzden kaçmış herhalde RunSQL olacakmış. Düzeldi

Fakat şimdi şöyle bir hata verdi.

Ekleme sorgusundaki tüm kayıtları ekleyemiyor. MS Access 1 alanı tür dönüştürme hatası yüzünden Null yaptı ve 0 kaydı anahtar hatası yüzünden .... gibi uyarı verdi
Pardon yanlış yazmışım Fur Sizde kaynaklanan problem 1. tablodaki verinin türünün 2. tabloya uymamasından kaynaklanıyor. Mesela 1. Tablodaki Adı hanesini --> 2. Tabloya taşıyacaksınız. 1. Tabloda Adı hanesi 50 karakter, 2. Tabloda 30 karakter olunca bu tip problem yaşanır. Eğer kopyaladığınız bilgi 10 karakterlik ise hata vermez ancak 2. Tablonun sınırı olan 30 karakterden fazla bilgi kopyalamak isterseniz hata verecektir.

1. Tablodaki alan türlerini ve özelliklerini 2. Tabloda birebir aynı yapmanız gerekmektedir.
Sayfalar: 1 2 3 4