Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Relationship questions
Message
From
01/06/1999 10:48:31
Cetin Basoz
Engineerica Inc.
Izmir, Turkey
 
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Miscellaneous
Thread ID:
00224915
Message ID:
00224930
Views:
23
>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
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform