Hallo
Ik heb volgende tabellen gedefinieerd:
1) Bestelling met volgende velden: ID_Bestelling (primaire sleutel), Naam, DatumLevering, ...
2) BestellingDetail met volgende velden: ID_BestellingDetail (primaire sleutel), ID_Bestelling (relatie met ID_Bestelling in Bestelling), ID_Artikel (relatie met ID_Artikel in Artikel), Hoeveelheid, ...
3) Artikel met volgende velden: ID_Artikel (primaire sleutel), ArtikelOmschrijving, ...
Ik heb een formulier aangemaakt voor Bestelling met een subformulier voor BestellingDetail
In het subformulier heb ik de kolom ID_Artikel vervangen door een combobox waarmee ik de beschikbare artikelen uit de tabel Artikel kan selecteren.
De bedoeling is dat ik in de combobox voor ID_Artikel een lijst zie met de omschrijving van de artikels en bij selectie van één van die artikels de waarde van ID_Artikel wordt weggeschreven. In de kolom wens ik nog steeds de omschrijving van de geselecteerde artikels te zien, niet de ID's.
In MS Access zou je hiervoor als source voor de combobox een SQL statement gebruiken met de twee velden ID_Artikel en ArtikelOmschrijving, vervolgens zou je aangeven dat de eerste kolom de waarde bevat die moet worden weggeschreven en tenslotte, om alleen ArtikelOmschrijving zichtbaar te maken, zet je de breedte van de eerste kolom (ID_Artikel) = 0 en die van de tweede kolom (ArtikelOmschrijving) > 0.
Kan dit in OpenOffice.org Base en hoe moet dit?
Bedankt
Combobox in subformulier
Combobox in subformulier
OpenOffice.org 3 Mac OS X
Re: Combobox in subformulier
Hallo
Op de toolbar waarmee je ook een listbox maakt daar zijn twee belangrijke knoppen
a) acktiveer assistent of wizard
b) Meer besturingselementen
Deze staan rechts of anderaan de toolbar, dit is afhankelijk van de vorm
Let ook op het verschil tussen listbox en combobox.
Listbox toont een waarde maar slaat vaak iets anders op in een tabel meestal een primary key.
Combobox staat toe dat er andere waarden in een tabel komen.
De nederlandse namen zijn
a) keuzelijst
b) keuzelijst met invoervak
Op de meerdere elementen is een knop om een tabelobject in te voeren. Dit is goed te gebruiken in een formulier.
Romke
Op de toolbar waarmee je ook een listbox maakt daar zijn twee belangrijke knoppen
a) acktiveer assistent of wizard
b) Meer besturingselementen
Deze staan rechts of anderaan de toolbar, dit is afhankelijk van de vorm
Let ook op het verschil tussen listbox en combobox.
Listbox toont een waarde maar slaat vaak iets anders op in een tabel meestal een primary key.
Combobox staat toe dat er andere waarden in een tabel komen.
De nederlandse namen zijn
a) keuzelijst
b) keuzelijst met invoervak
Op de meerdere elementen is een knop om een tabelobject in te voeren. Dit is goed te gebruiken in een formulier.
Romke
LibreOffice 24.2.4.2 op openSUSE Leap 15.6
Re: Combobox in subformulier
Bedankt Romke,
Ik had reeds een combobox (invulvak met keuzelijst) toegevoegd aan het subformulier. Het subformulier is trouwens in tabelvorm.
Maar ik slaag er niet in om die aan te passen.
Ofwel gebruik ik voor de Data een Sql statement: SELECT "ID_Artikel", "ArtikelOmschrijving" FROM "Artikel" AS "Artikel" ORDER BY "ArtikelOmschrijving" ASC. In dit geval zie ik in de lijst enkel de id's en niet de omschrijvingen maar de id worden wel in de onderliggende tabel weggeschreven.
Ofwel gebruik ik voor de Data een Sql ststement: SELECT "ArtikelOmschrijving" FROM "Artikel" AS "Artikel" ORDER BY "ArtikelOmschrijving" ASC. In dit geval zie ik in de lijst de omschrijvingen, maar bij selectie wordt deze omschrijving steeds vertaald in de waarde 0 en wordt geprobeert die 0 ook weg te schrijven in de onderliggende tabel. Dit geeft een fout want er is geen artikel met ID_Artikel = 0.
Bedankt
Wat ik zou willen is dat ik in mijn combobox (invulvak met keuzelijst) de lijst van de omschrijvingen zie en dat bij selectie de id wordt weggeschreven die bij deze omschrijving hoort en dat in de kolom in mijn subformulier steeds de geselecteerde omschrijvingen zichtbaar zijn voor de gebruiker.
Ik had reeds een combobox (invulvak met keuzelijst) toegevoegd aan het subformulier. Het subformulier is trouwens in tabelvorm.
Maar ik slaag er niet in om die aan te passen.
Ofwel gebruik ik voor de Data een Sql statement: SELECT "ID_Artikel", "ArtikelOmschrijving" FROM "Artikel" AS "Artikel" ORDER BY "ArtikelOmschrijving" ASC. In dit geval zie ik in de lijst enkel de id's en niet de omschrijvingen maar de id worden wel in de onderliggende tabel weggeschreven.
Ofwel gebruik ik voor de Data een Sql ststement: SELECT "ArtikelOmschrijving" FROM "Artikel" AS "Artikel" ORDER BY "ArtikelOmschrijving" ASC. In dit geval zie ik in de lijst de omschrijvingen, maar bij selectie wordt deze omschrijving steeds vertaald in de waarde 0 en wordt geprobeert die 0 ook weg te schrijven in de onderliggende tabel. Dit geeft een fout want er is geen artikel met ID_Artikel = 0.
Bedankt
Wat ik zou willen is dat ik in mijn combobox (invulvak met keuzelijst) de lijst van de omschrijvingen zie en dat bij selectie de id wordt weggeschreven die bij deze omschrijving hoort en dat in de kolom in mijn subformulier steeds de geselecteerde omschrijvingen zichtbaar zijn voor de gebruiker.
OpenOffice.org 3 Mac OS X
Re: Combobox in subformulier
Hallo,
ik denk dat ik een oplossing heb gevonden.
Ik heb van mijn combobox (keuzelijst met invulvak) een listbox (keuzelijst) gemaakt.
In dit geval kan ik aangeven welke kolom uit mijn Sql moet worden weggeschreven.
Mijn Sql statement is SELECT "ArtikelOmschrijving", "ID_Artikel" FROM "Artikel" AS "Artikel" ORDER BY "ArtikelOmschrijving" ASC.
Hierdoor wordt het eerste veld uit de SELECT getoond, namelijk ArtikelOmschrijving.
Het veld dat moet weggeschreven worden is ID_Artikel (Bound field). Ik zou verwachten dat ik dus 2 moet aanduiden want het is het tweede veld in de SELECT. Maar blijkbaar moet ik - om welke reden dan ook - veld 1 aanduiden.
ik denk dat ik een oplossing heb gevonden.
Ik heb van mijn combobox (keuzelijst met invulvak) een listbox (keuzelijst) gemaakt.
In dit geval kan ik aangeven welke kolom uit mijn Sql moet worden weggeschreven.
Mijn Sql statement is SELECT "ArtikelOmschrijving", "ID_Artikel" FROM "Artikel" AS "Artikel" ORDER BY "ArtikelOmschrijving" ASC.
Hierdoor wordt het eerste veld uit de SELECT getoond, namelijk ArtikelOmschrijving.
Het veld dat moet weggeschreven worden is ID_Artikel (Bound field). Ik zou verwachten dat ik dus 2 moet aanduiden want het is het tweede veld in de SELECT. Maar blijkbaar moet ik - om welke reden dan ook - veld 1 aanduiden.
OpenOffice.org 3 Mac OS X