keuzelijst

Status
Niet open voor verdere reacties.

voermanm

Gebruiker
Lid geworden
4 nov 2004
Berichten
36
Hallo mensen,

Ik heb een heel simpel probleem (denk ik).
Ik heb ik access simpel een excel sheet gekoppeld aan een access database. In deze excel sheet staan de volgende gegevens:

Artikelnummer
Groepsomschrijving
Maatomschrijving
Prijs
Per
Verpakking
Conditiegroep

Wat ik nu probeer is simpel een formulier van enkel deze tabel te maken waarbij artikelnummer een keuzelijst met invoervak word. Ik krijg het alleen niet voor elkaar dat de resterende gegevens (groepsomschrijving, maatomschrijving, prijs, per, verpakking en conditiegroep) automatisch worden ingevuld.


De bedoeling is dat de gekozen gegevens later door bijvoorbeeld een vb script over worden geplaatst naar een ander formulier

Ik hoop dat iemand weet hoe dit op te lossen valt

Groeten Menno
 
Je moet dan in de gebeurtenis "Na wijzigen" een macro maken of een stukje VBA zetten dat het formulier ververst. In VBA zou dat zijn:
Code:
me.requery
Maar dat werkt alleen als de velden zijn gekoppeld aan de kolommen in de tabel.

Om te voorkomen dat je per ongeluk waarden in de tabel wijzigt kun je het best van je keuzelijst een onafhankelijk veld maken.


Grtz,
 
hmmz nog niet

Helaas verversen van het document werkt wel maar past de gegevens niet aan.
Ik heb de database effe op een webserver gezet.
Deze is te vinden op het volgende adres

:Test1.zip (rechtklik en dan doel opslaan als) anders werkt het niet

Volgens mij is het heel simpel alleen mij lukt het niet:confused
 
Laatst bewerkt:
Ik heb even een paar kleine aanpassingen toegepast. Kijk maar eens of dit je verder helpt.


Grtz,
 

Bijlagen

Oh oh

He Mark dit werkt prima bedankt voor je hulp. Nu alleen het volgende probleem :confused:

Hallo Mensen,

Ik heb een simpele query gemaakt in access (mdb bestand). Nu maak ik dezelfde query in mysql server. In access (mdb) is dit de query tekst:

SELECT Leverancier.*
FROM Leverancier
WHERE (((Leverancier.Artikelnummer)=[Forms]![Leverancier]![keuzelijst]));

Tot zover is het prima. Nu doe ik hetzelfde op de mysql server.

Nu word er dit van gemaakt:

SELECT Leverancier.*, Artikelnummer AS Expr1
FROM Leverancier
WHERE (Artikelnummer = N'[Forms]!Leverancier!keuzelijst');

Nu werkt het dus niet, als je het formulier opent komen er geen elementen op het scherm. Weet iemand waar dit aan ligt?
 
De koppeling naar MySQL verteeld het stukje "[Forms]![Leverancier]![keuzelijst]" blijkbaar niet. Ik heb met MySQL geen ervaring, maar met SQL Server en Oracle heb ik vergelijkbare constructies wel aan de praat gekregen.

Hoe maak je nu de koppeling naar de MySQL database? Als het ODBC is kun je mischien iets aanpassen in de instellingen van de koppeling. Je zou dan eens moeten kijken naar dingen als "pass trough query's" of iets wat daarop lijkt.


Grtz,
 
foutje

Sorry mensen het is niet geplaatst op een MYSQL server maar gewoon een SQL server
 
Met SQL Server heb ik eerder geen problemen gehad. Ik heb altijd gewerkt met ODBC koppelingen naar SQL Server. Hoe zijn de tabellen gekoppeld?


Grtz,
 
geen koppeling bij leverancier

De tabel waar we het over hebben is "leverancier". Dit is een gekoppeld excel sheet met "artikelgegevens". Deze sheet is dus niet gekoppeld aan een andere tabel in de database. In het formulier is het de bedoeling dat het juiste artikel geselecteerd kan worden, en met 1 druk op de knop automatisch wordt overgenomen op het bestelformulier (dit werkt). Dus geen koppeling dus geen probleem lijkt me

Menno
 
thuis geprobeerd

Ik heb het nu ook locaal geprobeerd met SQL Server 2000. Daar heb ik de MDB geconverteerd naar ADP. Alleen helaas ook hier geeft SQL een foutmelding aan dat ie het niet begrijpt. Als je het later weer normaal zet werkt het weer. Zet je het criteria er weer neer krijg je weer een leeg formulier.

Iemand die het nog snapt ??? of iemand die wat anders kan bedenken? Iets met VBA inplaats van een query ?:confused:
 
Laatst bewerkt:
SQL in VBA

Mensen, ik probeer nu dit

Dim strSQL As String
strSQL = "SELECT leverancier.[artikelnummer] FROM leverancier WHERE leverancier.[artikelnummer]='" & Me.Keuzelijst.Value & "';"
DoCmd.RunSQL strSQL

Nu krijg ik de volgende foutmelding:

Fout 2342 tijdens uitvoering:
De actie SQLUitvoeren vereis een argument dat bestaat uit een SQL-instructie

Wat is de fout in de VBA code ?
 
Met docmd.runsql wordt de sql die je naar de database stuurt gewoon uitgevoerd. De query die je erheen stuurt is een eenvoudige select query. Daar gebeurt dus niet mee. Docmd.runsql is met name handig voor updates, inserts en deletes.

Als je iets met de data wil doen zul je dat bijv. in een recordset moeten stoppen.


Grtz,
 
GELUKT

Mensen het is gelukt met de volgende code:

Dim rs As Object

Set rs = Me.Recordset.Clone
rs.Find "[Artikelnummer] = '" & Me![Keuzelijst10] & "'"
If Not rs.EOF Then Me.Bookmark = rs.Bookmark

Bedankt voor je hulp Mark
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan