• DİKKAT

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

Access 2003 tabloları ilişkilendirme sorunu

Katılım
18 Ocak 2009
Mesajlar
18
Excel Vers. ve Dili
2010, 2007 veya 2003 English
Access 2003 tabloları ilişkilendirme sorunu-RESİMLİ+Dosya

Merhaba arkadaşlar,

Okulumuzun IT malzemelerinin listesini tutacak bir Access programı yazıyorum. Ana tabloya bağlı formda mavi ile işaretlediğim kısımların birbirleri ile ilişkili olmasını istiyorum ki mesela PC'yi seçince markalar alttaki açılan kutuya gelecek ve ordan markayı seçincede bir altındaki açılan kutuya sadece o markata ait modeller gelecek.
Aşağıya resimleri ve dosyayı (Access 2003) ekledim. Yardımcı olursanız çok makbule geçecek.
Saygılarımla

Teoman



inv.JPG


Dosya: (232KB)
http://oceanwh.fileave.com/Inventory.mdb
 
Son düzenleme:
Sayın PulsarKuant
bir tane markalar ve modeller tablosu hazırlamalasınız markalar tablosunda MarkaID(otomototik sayı olmalı). model tablosunda ise MarkaID(sayı )olmalı tabiiki tabloların diğer alanlarını siz yazacaksınız.
Bunları yaptıktan sonra ilişkilerden ModelID birbirine bağlayın (bire Çok ilişki) ve otomotik form oluşturun . Bu formda Modellerin altform olduğunu göreceksiniz. Bir kaç Kayıt girin Yaptıklarınızla forma dönün yardımcı olalım iyi çalışmalar
 
Sağolun Adnan bey söylediklerinizi aynen yapmaya çalışacağım.
 
Sayın PulsarKuant
Biraz vakit buldum istediklerinizi yaptım yeni tablo ve formlarda ekledim.Umarım yardımı olur İyi çalışmalar
 

Ekli dosyalar

Son düzenleme:
Sayın PulsarKuant
Biraz vakit buldum istediklerinizi yaptım yeni tablo ve formlarda ekledim.Umarım yardımı olur İyi çalışmalar

Adnan kardes ellerine saglik cok guzel oldu ya. Su an anlamaya calisiyorum yaptiginizi ama beklentimin otesinde oldugu kesin. Cok tesekkur ederim.
 
selam istediğin bunun gibimi ?
Yazdıklarının tamamını yapıyor yanlış mı anlıyorum ama ektekileri yaptım sen daha geliştirisin
 

Ekli dosyalar

Hocam tam olarak anlamışsınız. Tek problem mesela yeni bir cihazı girmek istediğimde hala PC kategorisindeki ürünün detaylarını veriyor. Örneğin Access Point kategorisine bir ürün giriyorum Brand olarak ASUS yazıyorum ancak model kısmına hala PC'den kalan modelleri gösteriyor. Ayrıca tabloda olmayan bir kategrori girince yeni kayıt oluşturmak fikri çok güzel ancak hata veriyor.
Yardımlarınız ve harcadığınız vakit için çok teşekkür ederim.
 
Merhaba hocam,
Size cok zahmet verdik ancak urun girisinde bir problem var. Kendim duzeltmeye calistim ama bilgi seviyem yeterli degil.
Sadece tablolari bosaltip dosyayi tekrar upload ettim.
Hatayi gormek icin FormINVyi acip yeni bir kayit doldurmaya baslayinca ortaya cikiyor. Yeni bir kayit gorunce programiniz direk bunu listeye eklemek istiyorki bu cok guzel bir fikir ancak hata veriyor.
Haricinde hersey beklediigimden cok daha guzel oldu.
Saygilarimla

Teoman

Inventory
 
Sayın pulsarkuant,

Uygulamanızı indirdim ancak herhangi bir hataya rastlamadım. Normal kayıt eklenebiliyor.

Sizde oluşan hata nedir?

İyi çalışmalar
 
arkadaşlar excel ve access db konusuna yeniyim.. ancak içerik ve bilgi paylaşımından gördüğüm kadarıyla konuları anlamaya başlıyorum... hepinize başarılar.. hayırlı günler..
 
Sayın pulsarkuant,

Uygulamanızı indirdim ancak herhangi bir hataya rastlamadım. Normal kayıt eklenebiliyor.

Sizde oluşan hata nedir?

İyi çalışmalar

Çok garip evdeyim ve Access2007 ile aynı dosyayı açtım çalışıyor ancak diğer bilgisayara geçip 2003 ile açınca hata veriyor ve debug penceresini açıyor. Bu sadece yeni kayıt girerken oluyor. Diğer bilgisayar iş yerinde en kısa zamanda enran görüntülerinide göndereceğim.
 
Çok garip evdeyim ve Access2007 ile aynı dosyayı açtım çalışıyor ancak diğer bilgisayara geçip 2003 ile açınca hata veriyor ve debug penceresini açıyor. Bu sadece yeni kayıt girerken oluyor. Diğer bilgisayar iş yerinde en kısa zamanda enran görüntülerinide göndereceğim.

Ben xp ve office 2003 ile çalıştırdım.
 
Ayni hata devam ediyor. Asagida resimdeki sekilde kayit girisinde sorun cikiyor.

1.JPG

2.JPG

3.JPG
 
Normalde olmasi gereken sekil ise asagidaki resimlerdeki gibi. Bunuda cozdukmu tamamdir.


1a.JPG


2a.JPG
 
Sayın pulsarkuant,

Hakşısınız ama çok hatanız var.

Birincisi frmmarka yazmışsınız formun adı frmMarka
İkincisi açılan formun kayıt kümesini değiştiremezsiniz.
Hiç formla üğraşmadan direkt olarak bilgiyi tblMarka ya kayıt etmek ADO ile

Dim rst As New ADODB.Recordset

rst.Open "tblMarka", CurrentProject.Connection, adOpenKeyset, adLockOptimistic

rst.AddNew
rst(1) = Me.Type
MsgBox Me.Brand.Column(0)
rst(2) = Me.Brand.Column(1)
rst.Update
rst.Close

gibi.

Herneyse düzeltilmesi gereken çok yeri var.

Artık iş yarına kaldı
 
Sayın pulsarkuant,

Hakşısınız ama çok hatanız var.

Birincisi frmmarka yazmışsınız formun adı frmMarka
İkincisi açılan formun kayıt kümesini değiştiremezsiniz.
Hiç formla üğraşmadan direkt olarak bilgiyi tblMarka ya kayıt etmek ADO ile

Dim rst As New ADODB.Recordset

rst.Open "tblMarka", CurrentProject.Connection, adOpenKeyset, adLockOptimistic

rst.AddNew
rst(1) = Me.Type
MsgBox Me.Brand.Column(0)
rst(2) = Me.Brand.Column(1)
rst.Update
rst.Close

gibi.

Herneyse düzeltilmesi gereken çok yeri var.

Artık iş yarına kaldı


Teşekkür ederim:) En azından yarında olsa bir umut var:) Şimdi orda yarın olunca burda daha da öte oluyor ya:)))
 
Sayın pulsarkuant,

Brand açılan kutusuyla ilgili listede olmayan olayı kodlarını aşağıdakilerle değiştirin.

Kod:
Private Sub Brand_NotInList(NewData As String, Response As Integer)
Dim strSql As String
Dim i As Integer
Dim msg As String


msg = "'" & NewData & "' Kayıt Tabloda Bulunmamaktadır" & vbCr & vbCr
msg = msg & "Bunu Tabloya Yeni Kayıt Olarak Eklemek İstermisiniz...?"

i = MsgBox(msg, vbQuestion + vbYesNo, "Kategori dışı Bilgi...")
    If i = vbYes Then
    strSql = "INSERT INTO tblMarka([TypeId],[MarkaAd]) " & _
            "VALUES (" & Me.Type & ",'" & NewData & "');"
    
        DoCmd.SetWarnings False
        DoCmd.RunSQL strSql
        DoCmd.SetWarnings True
        MsgBox "Yeni Marka Listeye Eklendi." _
            , vbInformation, "Kategori Dışı Bilgi Eklendi"
        Response = acDataErrAdded
    Else
        MsgBox "Lütfen listeden bir marka seçin." _
            , vbInformation, "Marka"
        Response = acDataErrContinue
    End If
cboJobTitle_NotInList_Exit:
    Exit Sub
cboJobTitle_NotInList_Err:
    MsgBox Err.Description, vbCritical, "Error"
    Resume cboJobTitle_NotInList_Exit
End Sub

Model ile ilgili tablonun yapısında bir tutarsızlık var. Seri No ve Prodact Id ile ilgili bilgileri hem tblDescription da hemde tblINV kaydediyorsunuz, burada tutarsızlık var önce bu nokta ile ilgili kararınızı verin ki öyle ilerleyelim.

Model Not in list olayı için ekleme kodu yazmaya çalıştığımızda daha girilmemiş bilgilere de ihtiyacımız olacak ve bu noktada kitleneceğiz.

İyi çalışmalar
 
Sayın pulsarkuant,

Brand açılan kutusuyla ilgili listede olmayan olayı kodlarını aşağıdakilerle değiştirin.

Kod:
Private Sub Brand_NotInList(NewData As String, Response As Integer)
Dim strSql As String
Dim i As Integer
Dim msg As String


msg = "'" & NewData & "' Kayıt Tabloda Bulunmamaktadır" & vbCr & vbCr
msg = msg & "Bunu Tabloya Yeni Kayıt Olarak Eklemek İstermisiniz...?"

i = MsgBox(msg, vbQuestion + vbYesNo, "Kategori dışı Bilgi...")
    If i = vbYes Then
    strSql = "INSERT INTO tblMarka([TypeId],[MarkaAd]) " & _
            "VALUES (" & Me.Type & ",'" & NewData & "');"
    
        DoCmd.SetWarnings False
        DoCmd.RunSQL strSql
        DoCmd.SetWarnings True
        MsgBox "Yeni Marka Listeye Eklendi." _
            , vbInformation, "Kategori Dışı Bilgi Eklendi"
        Response = acDataErrAdded
    Else
        MsgBox "Lütfen listeden bir marka seçin." _
            , vbInformation, "Marka"
        Response = acDataErrContinue
    End If
cboJobTitle_NotInList_Exit:
    Exit Sub
cboJobTitle_NotInList_Err:
    MsgBox Err.Description, vbCritical, "Error"
    Resume cboJobTitle_NotInList_Exit
End Sub

Model ile ilgili tablonun yapısında bir tutarsızlık var. Seri No ve Prodact Id ile ilgili bilgileri hem tblDescription da hemde tblINV kaydediyorsunuz, burada tutarsızlık var önce bu nokta ile ilgili kararınızı verin ki öyle ilerleyelim.

Model Not in list olayı için ekleme kodu yazmaya çalıştığımızda daha girilmemiş bilgilere de ihtiyacımız olacak ve bu noktada kitleneceğiz.

İyi çalışmalar

Hocam esasen o tutarsızlık var dediğiniz tabloları yine bu forumda yardım etmeye çalışan bir arkadaşımız ekledi. Benim ham dosya ilk mesajımdadır zaten ve orada sadece 1 tane tablo vardı. Yapmak istediğim en başından beri kategorilemekti (örneğin; PC>Dell>GX270 gibi)ve bunu için tabloların ilişkilendirilmesi gibi işlemlere gerek vardı ve çakılmıştım.
Nihayetinde ana formumda kategorileme işi hallolduktan sonra orada kaç tablo olduğunun veya hangilerinin silindiğinin hiç bir önemi yok.

Şu aşamada sizlerin bana gösterdiği varolmayan yeni bir girdiyi otomatik olarak uyarmak ve veritabanına eklemek olayı çok güzel. Birde o ilk 3 açılan kutudaki (resimdeki gibi) kategorilemeyi halldersek harika olacak.
Yardımlarınız, harcadığınız vakit ve emek için sonsuz teşekkürler.

Teoman
 
Sayın pulsarkuant,

Birşeyler yapmaya çalıştım, umarım aksaklık çıkmaz. Açılan kutular üstünden yeni kayıtları yapabilirsiniz.

İyi çalışmalar
 

Ekli dosyalar

Geri
Üst