Konu Araçları | Konu Seçenekleri | Gösterim Stili
Tarih
24/08/2018 15:38
Konu Sahibi
Allback
Yorumlar
4
Okunma
201
Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 5
  • 4
  • 3
  • 2
  • 1

Derecelendirme: 0/5 - 0 oy
Kullanici Avatari

Allback

Uzman
Er.... Er....
 35
 39
 311
 16/11/2011
27
 Kocaeli
 Yönetici
 Ofis 2016 64 Bit
Çözüldü 
Merhaba,

Mevcutta kullanmakta olduğumuz matbu formun bir benzerini Access ile yapıp, yapılan harcamaları kayıt altına almak istiyorum.
Matbu formdaki 7 satır gibi alt alta açılan kutularımı ve metin kutularımı oluşturdum.

Buradaki verileri aynı id numarası ile tabloya alt alta eklemek istiyorum ama sadece 1. satırdaki veriler ekleniyor.
Her bir satır için ayrı insert komutu yazıyorum ama olmuyor...
Dolu olan satırların eklenip boş olanların eklenmemesini nasıl sağlayabilirim.



Kullanici Avatari

mehmetdemiral

Uzman
Me.... De....
 53
 218
 4.925
 30/10/2008
 Samsun
 Öğretmen
 Ofis 2013 32 Bit
 Dün,22:06
Tablonuzdaki benzersiz alan olan id birimi sadece bir kez tekrarlanabilen bir kayıta izin verir. Oysa siz 7 satır kaydetmek istiyorsunuz. Bu durumda alt form kullanarak bire çok ilişki kullanmalısınız. Yani ana değerlerin kaydolduğu bir ana tablo, bir de bu tabloya id değeri üzerinden bağlanmış bir diğer tablo. Tabi ki bu durumda bir ana form ve ona bağlı bir altform yapmalısınız.


İnadına, ille de Accesstr.net...

Kullanici Avatari

Allback

Uzman
Er.... Er....
 35
 39
 311
 16/11/2011
27
 Kocaeli
 Yönetici
 Ofis 2016 64 Bit
Bilgisayar basında değilim. O yüzden deneyemiyorum ama benzersiz alan olarak yapmazsam belki o zaman kaydeder



Kullanici Avatari

mehmetdemiral

Uzman
Me.... De....
 53
 218
 4.925
 30/10/2008
 Samsun
 Öğretmen
 Ofis 2013 32 Bit
 Dün,22:06
Teorik olarak mantıklı ancak id numarasını her kayıtta arttırmanız lazım. Ama yine söylüyorum, doğru yöntem bu değil. Mantıklı olarak bu tablonun şişmesine neden olursunuz. Zaten şu anda seçilen malzemeleriniz uzun adlarıyla yeniden tabloya kaydediliyor. Oysa sadece kodları ya da varsa id'leri kaydedilmeli ki bu tablo şişmesin. Bir de her kalem malzeme için tüm kriterler birer alt kayıt olarak yeniden kaydedilecek ki, tablo ne zaman göçer bilemem. Oysa bir tabloya sadece benzersiz id no,  form numarası, tarih, talep eden ve onaylayan bilgileri ve toplam tutar bir kez kaydedilse; diğer bağlı tabloya da diğer tablodaki benzersiz id ( ama bu tabloda benzersiz olmasın), grup id'si, malzeme id'si, miktarı, fiatı (sonradan yapılan fiat güncellemelerinde mevcut kayıtlardaki fiatlar değişmesin diye) kaydedilse, bu durumda birbirine bağlı veriler tablolardan sorgularla çekilse.... Doğrusu budur. Bu durumda örnek olarak ana tablonuzdaki veriler şöyle olacaktır:

id: Benzersiz sayı
tarih: 25.08.2018
tutar:  Bu alt tablodaki tüm kayıtların ve miktarın çarpımından elde edilen parasal toplam bedel. 
talep eden: AHMET ÇALIK
Onaylayan : METİN TEKİN

Ben olsam bu kişileri de başka tablolardan çağırıp, onların yerine de tabloya sayısal değerler atardım ya, hadi neyse; o kadar kafanızı karıştırmayayım Img-grin))

BU durumda alt formunuza bağlı tabloda da yapı şöyle olacaktı: Sayı değerleri örnek olarak yazılmıuştır

kayıt_id :Benzersiz sayı (bu her kalem alt malzeme girişine ait id değeridir. Diğer tablodaki benzersiz id değeriyle karıştırmayın)
id: 1 (Bu değer de diğer tablodaki id değerini aynen taşımalı ki, iki tablonun akrabalık bağları burdan yakalansın. Soy ağacı yani )
Grup no: 1  (sayısal değer)
malzeme no:  10  (Malzeme tablonuzdaki no alanı)
fiat: 0,55 (10 nolu malzemenin tablodan gelen fiatı
miktar : 5 (mesela)

Şİmdi diyeceksiniz ki, bazı değerler nerde? E, onlar tabloda var zaten. Bir seçme sorgusu üzerinden sadece malzeme id değeriyşe ambar kodunu da, birim değerini de vs. getirmekte sıkıntı yok. Onları tabloya tekrar kaydetmeye ne gerek var? Bu, tc kimlik numarası getirip tüm işlemleri tek numaradan çağırmak varken, bir dosya sırtlığına ana adı-baba adı- doğum yer, doğum tarihi, sicil no, emekli no gibi her şeyi yazdırıp, tc kimliği de altına ekleten memurun işine döner. Bu tc kimlik numarası aslında tüm bunları yazmamak için bulunmadı mı? Yeniden hepsini yazdıran, utanmadan altına da tc kimliği yazdıran bankacıya anlatmıştım bunu Img-grin)) Saf saf suratıma bakıp "bu bilgiler olmadan nasıl sizin bilgilerinize ulaşacağız ki" demişti Img-grin))


İnadına, ille de Accesstr.net...

Kullanici Avatari

Allback

Uzman
Er.... Er....
 35
 39
 311
 16/11/2011
27
 Kocaeli
 Yönetici
 Ofis 2016 64 Bit
Mehmet hocam yardımlarınız için çok teşekkürler.
İlk yorumunuzdaki gibi "id" alanından birincil anahtarı kaldırınca sorun çözüldü.

Formun açıldığında olayına ve kaydet butonuna aşağıdaki kodu ekledim.
Böylece id alanını her seferinde 1 arttırarak kayıt ekliyorum.

Visual Basic Code
txid = Nz(DMax("id", "malzeme_istek_tablosu"), 0) + 1



Aslında formun şişeceği düşüncesi benim de kafamda soru işaretleri oluşturmuyor değil.
Ama alt form olayını bilmediğim için pek bulaşmak istemedim.
En azından sorgularla çağırdığım malzeme adlarını sayısal değerler ile kayıt edebilirim. 
Tablonun şişmesi biraz daha azalabilir belki o zaman.




Konuyu Okuyanlar: 1 Ziyaretçi

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
Çözüldü Form1 De Buton İle Form2 Den Kayıt Sil zaferlacin 9 134 18/01/2019, 20:26
Son Yorum: zaferlacin
Çözüldü Ekleme Sorgusunda Hata Oğuz Türkyılmaz 4 86 17/01/2019, 17:37
Son Yorum: Oğuz Türkyılmaz
Çözüldü Kaydetme, Yeni Kayıt Ekleme Ve Kayıt Silme Sorunu mmert06 18 520 15/01/2019, 01:05
Son Yorum: mmert06
Çözüldü Liste Kutusuna Başlık ekleme bibib 8 225 31/12/2018, 08:02
Son Yorum: bibib
Çözüldü Liste Kutuları Arasında Filtreleme Sorunu mmert06 2 91 31/12/2018, 00:44
Son Yorum: mmert06

Türkçe Çeviri: MCTR, Yazılım: MyBB, © 2002-2019 MyBB Group.