Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Relationship questions
Message
De
01/06/1999 10:48:31
Cetin Basoz
Engineerica Inc.
Izmir, Turquie
 
Information générale
Forum:
Visual FoxPro
Catégorie:
Base de données, Tables, Vues, Index et syntaxe SQL
Divers
Thread ID:
00224915
Message ID:
00224930
Vues:
24
>I am beginning to experiment with setting up persistent relationships for the first time and I am running into a couple of problems.
>
>I have a database that has an inventory table and a category table and a sub-category table. Example categories might be 1-Band 2-Fretted Instruments. Example of subCategories under Category 1 (Band)might be 1-Piccolo, 2-Clarinet, 3-Saxaphone, etc and under Category 2 might be 1-Acoustic, 2-Electric, 3-Banjo, etc.
>
>Anyway I have a form established with 2 combo boxes cboCat has the category table set as the rowsource and cboSub has the rowsource set to the subcategory table.
>
>I was thinking that if I pick a category 2 from cboCat that only the subcategories related to category 2 would show in cboSub. This isn't the case .. all subcategories show in cboSub not just the ones related to the category chosen in cboCat.
>
>I do have a persistent relationship set in the database between the foreign key in the subcategory file and the primary key in the category file.
>
>Thanks,
>Paul
Paul,
I really not to mean it cannot be done that way but I suggest not to use it with relations. For comboboxes managing SQL is a lot easier IMHO.
For second combo you could leave both Rowsource and Rowsourcetype at their default (none) :
* subCombo.init
lcSQL = "select subCat "+;
          "from myChild "+;
          "where subCatParentKey = thisform.catCombo.value "+;
        "into cursor myCursor"
RowSourceType = 3
RowSource = lcSQL

* subCombo.when or gotfocus
this.requery()
Advantage this is free of relations and once you build correct SQL you get what you want.
If subCatParentKey (category link key) is not char, you should take that into account and do conversion (combos return value as char).
lcSQL variable usage is not necessary (think as #define). Not written directly to combo PEM sheet because long SQL cause headeache there.
Cetin
Çetin Basöz

The way to Go
Flutter - For mobile, web and desktop.
World's most advanced open source relational database.
.Net for foxheads - Blog (main)
FoxSharp - Blog (mirror)
Welcome to FoxyClasses

LinqPad - C#,VB,F#,SQL,eSQL ... scratchpad
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform