• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Aynı Access VT İçerisinden Formdan Başka Bir Tabloya Kayıt

Katılım
19 Temmuz 2011
Mesajlar
30
Excel Vers. ve Dili
2007 Office
Excel,Word,Access
Selam Arkadaşlar.Öncelikle söylemek istiyorum aranıza henüz katıldım .bu ilk mesajım.
Benim sorum şu :
Tablodaki bilgileri düzenli görebilmem için form oluşturdum.Formda bilgileri sırayla buton yardımıyla görebiliyorum.
Aynı şekilde forma kayıt ekle butonu ekledim.Fakat eklenecek olan yeni kayıtın, bilgilerin çekildiği tabloya değil de; başka (Örneğin Geçmiş adlı bi tablo)
bir tabloya eklenmesini istiyorum.Ne yaptıysam bir türlü başka bir taloya ekleme işini yapamadım.Diğer tablonun ismini (insert tabloadi ) VBasic koduna ekliyorum ama yine de aynı tabloya yapıyor.
Aynı şekilde formdaki bilgileri değiştirdiğimde yine bunu, diğer tabloya yeni kayıt olarak eklemesini istiyorum.
ayrıca uğraştığım kod resim eki şeklinde ekte.
Stajer öğrenciyim : ) Yardımcı olursanız sevinirim..
 

Ekli dosyalar

  • Forum_Icin.jpg
    Forum_Icin.jpg
    46.3 KB · Görüntüleme: 34
Selam,
oncelikle hoş geldiniz

Sanırım formunuz birinci tablnuz (Verilerin bulunduğu tablo) ile ilişkili
yani formun kayıt kaynağında birinci tablonun adı yazıyordur.
Boyle olunca form üzerinde yaptığınız değişikler/kayıt eklemeler direk olarak formun bağlı olduğu tabloya yansıtılır.

Çözüm olarak formun tablo ile ilişkisini kesip, form üzerine kayıtları yazcağınız vba kodları ile getirmelisiniz, ozaman kaydet düğmesine basıldığında yazacağınız kodlara göre istediğiniz tabloya kayıt yapabilirsiniz
 
Teşekkür ederim.
Evet dediğiniz doğru.Form ile tablo ilişkili.

Çözüm olarak formun tablo ile ilişkisini kesip, form üzerine kayıtları yazcağınız vba kodları ile getirmelisiniz demişsiniz.
Kayıtları forma getirmem için gerekli VBA kodunu nasıl elde edebilirim ?
VBA bilgim yok denecek kadar az.
 
bir mahsuru yoksa örnek varitabanınızı buraya ekleyin,
onun üzerinde basit bir örnek yapmayı deneyelim
 
Tekrar mrb,
en son access 2003 ile çalışmıştım, 2010 bayağı değişmiş :)

Neler yaptığımı kısaca anlatmaya çalışayım sana;

1.Depot no açılır kutusundan seçilen depoya ait bilgiler ekrana gelir

2.İleri geri düğmeleri ile kayıtlar üzerinde ilerlenebilir (geçerli kayıt ekranda görünür)

3. Yeni kayıt düğmesine tıklandığında Metin1 alanındaki depot_no Depot tablosunda varsa mevcut bilgiler güncellenir
yoksa ekrandaki bilgiler Depot tablosuna yeni kayıt olarak eklenir

4.Bir başka tabloya kaydet kısmına kod yazmadım :)
yeni kayıt düğmesindeki kodlara bakarak gerekli değişiklikleri yapıp bu işlemi senin yapabilmen lazım, ödevin tamammını biz yapmayalım dimi :)

5. Elbette bunu yapmanın başka yollarıda var, sen kendine göre başka çözümlerde geliştirebilirsin

Saygılarımla..
 

Ekli dosyalar

Çok teşekkür ederim gerçekten ellerinize sağlık.
Ama küçük bi problemimiz var gibi ? Acaba version uyuşmazlığından mıdır ?
Butonlara eklemiş olduğunuz kodları görebiliyorum.Fakat formda hiç bir değişiklik yok .Aynen size gönderdiğim gibi .Hiç bir işlem yapamıyorum.
 
Yok,
bende access 2010 ile düzenledim gönderdiğiniz vt.
1.Formu Düzen görünümünde değil, form görünümünde açıyoruz değilmi
2. Dosya/Seçenekler/Güven Merkezi/Güven merkezi ayarları kısmına bakarmısınız
özellikle makro ayarları tüm makroları etkinleştir olmalı
 
Evet Form görünümünde açtım.Dediğiniz gibi en alt seçenek olan tüm makroları etkinleştir seçeneğine de tıkladım ama hala değişiklik yok.
 
Tamam efendim.
Makroları işaretledikten sonra açıp kapattım.H,ç bir sorun yok.Çok çok teşekkür ediyorum tekrar çok sağolun : )
 
Projemin son hali.

Tekrar Merhaba
Dünkü gönderdiğiniz projeyi daha da geliştirmeye çalıştım.

Kısaca projem
İki kısımdan oluşmakta:

1- Printer bul (form1 içerisinde)
2- PC bul (form2 içerisinde)

Form1 'i sizin gönderdiğiniz projenin üzerine inşa ettim .Küçük eksikleri dışında tamamen çalışıyor.
Fakat form2 'yi de aynı kod sistemiyle yapmaya çalıştım.Bir türlü olmuyor.Sürekli Debug hatası veriyor.

Yardımcı olursanız gerçekten çok mutlu olurum.Teşekkür ederim.
 

Ekli dosyalar

Mrb;
1.Formun çekildiği tabloya yeni kayıt yaptığımda, runtime eror hatası veriyor. "object variable or with block variable not set"hatası.Debug yaptığımda rec.seek komutuna yönlendiriyor.
Kayıt değerlerini ters yazmışsınız
rec!Serial_Number = Me.Açılan_Kutu25
şeklinde olmalı, düzelttim kayıt yaptım sorun yok


2.Yeni kayıt yapmak istediğimde ekranın temizlenmesi daha güzel olmaz mı?.Add Record butonuna bastığımda.
Bence Add Record düğmesine gerek yok
Search Printer isimli combodan var olan bir kayıt seçilirse kayıt bilgileri ekrana gelir, yeni kayıt girişi için buraya olmayan bir record no girilise ekran yeni kayıt girişi için boşaltılır bu şekilde düzenleme yaptım, yani sadece save record düğmesi yeterli (bence)


3.Ayrıca kayıt silme işlemini yapabilmek mümkün mü?

Delete Record düğmesine kodlar eklendi


4.Dediğiniz gibi, form1den history adında diğer tabloya, kayıt işlemini yaptım, oluyor.Fakat history printer tablosunda görceksiniz, Area_3 fieldinden sonraki kısımlarda kayma oluyor.Onu da anlayamadım.

Burda neyi kastettiğinizi tam anlayamadım,
bence adım adım giderek yaptıklarınızı tekrar gözden geçirin, nereye kadar sorun yok, nerden sonra sorun başlıyor mesela
hatanızı sizin bulabilmeniz çok önemli

Saygılarımla

 

Ekli dosyalar

Çok teşekkür ederim Hocam. Sayenizde sona doğru yaklaşıyorum.
 
Merhaba Hocam,

Projeyi görsel olarak tamamladım sayılır Hocam.Ama yine de çözemediğim sorunlar var.Yapamadım.
Yine form sayfalarına açıklamaları yazdım.
Eğer müsaitseniz ;
yardımcı olursanız çok memnun olurum Hocam.
 

Ekli dosyalar

Selam;
Hayırlı Cumalar


"pc tablosundan forma bigi çekiyorum(Search PC açılır penceresinden).Bilgiyi, üzerinde değişiklik yapmadan veya yaparak birinci seferde history tablosuna kayıt edebiliyorum.Fakat aynı bilgiyi tekrar pc tablosundan çektiğimde üzerinde değişiklik yaptığımda veya yapmadığımda history tablosuna kayıt yapmıyor..Mesela "a" host nameli pc .Anlayamadım neden hocam ."



Mesela a host nameli kaydı history tablosuna eklediniz,
tekrar history tablosuna kayıt düğmesine tıkladığınızda
history table tablosundan a kaydını bulup güncelleyecekmi,
yoksa tablonun altına yeni bir kayıt gibimi ekleyecek

yani history tablosu sizin bir nevi log dosyanızmı


 
Hayırlı Cumalar ..
Hayır Hocam güncellemiyecek.History tablosuna ayrı bir kayıt olarak geçecek.
Fakat PC tablosu için güncelleme yapacak.Şu an olduğu gibi .O doğru çalışıyor.
 
1.pc tablosundan forma bigi çekiyorum(Search PC açılır penceresinden).Bilgiyi, üzerinde değişiklik yapmadan veya yaparak birinci seferde history tablosuna kayıt edebiliyorum.Fakat aynı bilgiyi tekrar pc tablosundan çektiğimde üzerinde değişiklik yaptığımda veya yapmadığımda history tablosuna kayıt yapmıyor..Mesela "a" host nameli pc .Anlayamadım neden hocam .



Tabloda birincil anahtar tanımlıysa o tabloya aynı birincil anahtardan 2 tane ekleyemezsin, pcHistory tablosundaki PC_Host_Name alanındaki birincil anahtarı kaldırdım,

PcHistory tablosuna kayıt düğmesinde de
.SetWarnings False kullandığın için uyarı almıyordun, düzelttim şu an sorun görünmüyor, aynı düzeltmeyi form1 içinde yaparsınız

Benim acizane tavsiyem pcHistory sizin log dosyanız olacaksa buraya kayıt için ayrı bir düğme koymayın, Save Record düğmesine tıklandığında pcHistory tablosunada otomatik kayıt yapsın arka planda bunu kullanıcıya bırakmayın


Hocam aşağıya işletim sistemi seç diye açılır pencere ekledim.Kullanıcı yeni kaydına, oradan kolayca işletim sistemi seçsin istedim.Veya kaydında işletim sistemi değişikliği yapmak istediğinde o kutucuğu kullanabilcek .VBA kodunu denedim ama olmadı Hocam.


Düzenledim



Hocam bir de history tablosunda area_3 numaralı alan, bilgiyi almıyor.Anlamadım neden? .Bu yüzden, bilgiler bir öncekine kayıyor.


Burdaki SQl cümlenizde hata var

.RunSQL "insert into pcHistory (PC_Host_Name,PC_Area_1,PC_Area_2,PC_Area_3,PC_Worker_or_BABTEC_Desktop_Number,PC_Ident_No,PC_IP_Adress,PC_2_IP_Adress,PC_DHCP_Active,PC_Operating_System,PC_Service_Pack,PC_Word_Excel,PC_Access,PC_New_IP_Adress)" _
& " select [Forms]![Form2]![Metin0],[Forms]![Form2]![Metin6],[Forms]![Form2]![Metin8],[Forms]![Form2]![Metin10],[Forms]![Form2]![Metin12],[Forms]![Form2]![Metin14],[Forms]![Form2]![Metin16],[Forms]![Form2]![Metin18],[Forms]![Form2]![Metin20],[Forms]![Form2]![Metin22],[Forms]![Form2]![Metin24],[Forms]![Form2]![Metin26],[Forms]![Form2]![Metin28],[Forms]![Form2]![Metin30]"


yazmışsınız bu durumda PC_Area_3 alanına Metin27 karşılık geliyor oda onun değerini alıyor, oysa forma göre orada sanırım Metin19 alanının olması gerekir
bun göre düzeltirsiniz
Saygılarımla
 

Ekli dosyalar

Merhaba Hocam,

Cevabınız için çok teşekkür ederim.Ellerinize sağlık.Araya hafta sonunun girmesiyle mesajınıza cevap yazamadım Hocam.Kusura bakmayın.
Form1 için bana söylediğinizi yaptım ama; düzelme olmadı Hocam.
" pcHistory sizin log dosyanız olacaksa buraya kayıt için ayrı bir düğme koymayın, Save Record düğmesine tıklandığında pcHistory tablosunada otomatik kayıt yapsın arka planda bunu kullanıcıya bırakmayın" demişsiniz Hocam. Ama benden istenilen öyle.İki tablo da ayrı ayrı kontrol edilmek isteniyor.Formda değişiklik yapıp record tuşuna basıldığında bu değişiklik her ikisinde olabilir de olmayabilir de istiyor kullanıcı.o yüzden bu ayrıma ihtiyacımız var.
 

Ekli dosyalar

Geri
Üst