Konu Araçları | Konu Seçenekleri | Gösterim Stili
Tarih
24/08/2018 15:38
Konu Sahibi
Allback
Yorumlar
4
Okunma
237
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
 316
 16/11/2011
27
 Kocaeli
 Yönetici
 Ofis 2016 64 Bit
 08/03/2019,11:19
Çö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....
 54
 218
 4.926
 30/10/2008
 Samsun
 Öğretmen
 Ofis 2013 32 Bit
 23/02/2019,21:53
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
 316
 16/11/2011
27
 Kocaeli
 Yönetici
 Ofis 2016 64 Bit
 08/03/2019,11:19
Bilgisayar basında değilim. O yüzden deneyemiyorum ama benzersiz alan olarak yapmazsam belki o zaman kaydeder



Kullanici Avatari

mehmetdemiral

Uzman
Me.... De....
 54
 218
 4.926
 30/10/2008
 Samsun
 Öğretmen
 Ofis 2013 32 Bit
 23/02/2019,21:53
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
 316
 16/11/2011
27
 Kocaeli
 Yönetici
 Ofis 2016 64 Bit
 08/03/2019,11:19
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ü İki Tarih Arası Ay Bazında Satır Ekleme fkilic76 6 221 06/03/2019, 09:13
Son Yorum: haliliyas
Çözüldü İki Tarih Arası Satır Ekleme Ve Veri Kaydetme fkilic76 5 154 26/02/2019, 18:04
Son Yorum: fkilic76
Çözüldü Raporu Pdf Olarak Kayıt Etmek. m_demir 10 788 25/02/2019, 01:18
Son Yorum: zetyu
Çözüldü Mükerrer Kayıt (il Ve İlçe Sorunu) Dart Reder 6 298 16/02/2019, 08:16
Son Yorum: Dart Reder
Çözüldü Alt Alta Olan Verileri İd Bazında Yan Yana Getirmek ufukcem 8 1.151 15/02/2019, 13:42
Son Yorum: ozanakkaya

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