Bijwerkquery

Status
Niet open voor verdere reacties.

Bsrkberend

Gebruiker
Lid geworden
21 dec 2014
Berichten
17
Hoi,

Kan iemand mij helpen?

Ik heb een selectiequery gemaakt bestaande uit twee tabellen; A en B. In tabel B staan de verkooprijzen in het veld niet vermeld, wel staan deze in tabel A in het veld. De prijzen die in tabel A staan wil ik aan de hand van een bijwerkquery overhevelen naar tabel B in het veld. Ik heb totaal geen idee hoe ik dit moet aanpakken.

Hoe kan ik het veld van tabel A overhevelen naar het veld van tabel B?

Alvast bedankt!
 
Eén gegeven in 2 tabellen opslaan? Normaal gesproken (let op de dubbele betekenis van 'normaal' :) ) zeg ik: nergens voor nodig en nooit doen. Dus laat ik daar maar mee beginnen als antwoord :D
 
Dat is waar ook... :d Maar wat nou als ik in tabel B een veld toevoeg met aantal. Dus dan moet er een formule ergens komen met aantal*verkoopprijs, het antwoord moet dan te zien zijn in het veld in tabel B. Hoe zou dat moeten?
 
Ik zou dat sowieso via een formulier doen, en niet in een query. Maar in die query die onder het formulier zit neem je dan beide tabellen op, zodat je zowel de verkoopprijs uit A ziet als het aantal uit B kunt invullen. En bij dat veld [Aantal] maak je dan een gebeurtenis die in PrijsTotaal de berekening zet. Overigens was ik een beetje te drastisch met mijn eerdere opmerking, want prijzen zijn aan fluctuaties onderhevig, en die veranderen dus. En je wilt in je tabel [Verkopen] dan ook meestal de Verkoopprijs ook opnemen. Of dat ook voor het totaalbedrag geldt, is dan weer discutabel, want dat gegeven is puur afhankelijk van [Aantal] * [Verkoopprijs].

Dit in ogenschouw nemend, is er dus maar één goed antwoord (er zijn er meer, zoals in de cursus ook staat beschreven) en dat is: op het formulier [Verkopen] heb je een keuzelijst cboArtikel staan, waarmee je het artikel kiest. In die keuzelijst zit dan ook een veld [Verkoopprijs}, en wat je nog meer wilt zien in de keuzelijst. Bij het kiezen van een artikel zorg je ervoor dat het veld [Verkoopprijs] gevuld wordt met de actuele verkoopprijs. Dat veld in je tabel Verkopen wordt dus gevuld vanuit de keuzelijst artikel, en niet met een bijwerkquery. Vandaar mijn eerste reactie, die dat nogal stevig afwees :).
 
Poe, toch niet helemaal wat ik wil.

2e poging:
Tabel A
veld 1 met data

Tabel B
veld 2 geen data, gegevenstype staat op valuta, dus staat er € 0,-
Ik wil eigenlijk veld 1 van tabel A (met data in veld), overzetten/verplaatsen met een bijwerkquery naar de tabel B in veld 2... hoe doe je dat?


quer.png
 
Ik ga toch weer streng zijn, en stel de vraag: waarom? Mij lijkt dat helemaal nergens voor nodig. Niet als je formulier goed is ingericht.
 
Het veld verkooprichtprijs in Artikel hoort daar achteraf niet thuis, deze hoort in tabel Orderregel. Vandaar dat ik het veld verkooprijs in orderregel heb aangemaakt om de gegevens uit het veld verkooprichtprijs te kunnen overzetten/verplaatsen, dit scheelt tikwerk.
 
??? Het veld [Verkooprichtprijs] hoort bij uitstek thuis in Artikelen, net zoals het veld [Verkoopprijs] thuis hoort in Orderregels.
 
Dat klopt. Nu wil ik de prijzen die in het veld [Verkooprichtprijs] staan overhevelen naar het veld [Verkoopprijs]..
 
Maar wat heb je dan nu in Orderregels staan? Of heb je nog geen orders?
 
De orders staan er in alleen de verkooprijs ontbreekt. [

ATTACH=CONFIG]225569[/ATTACH]
 

Bijlagen

  • quer1.png
    quer1.png
    6,3 KB · Weergaven: 23
Dan hoop ik dat je prijzen nog kloppen met de verkooprecords :). Maar dan kun je gewoon een bijwerkquery maken, waarbij je dus maar 2 tabellen nodig hebt en ook niet hoeft te filteren. Kwestie van het veld [Verkoopprijs] in Orderregels bijwerken met [Verkooprichtprijs] uit Artikelen.
 
Er gebeurt helemaal niets....
De verkoopprijzen moeten wel matchen met de ArtikelCode. BK-M38 staat er bijvoorbeeld 3 keer in, dus bij de verkooprijs moet dan 3 keer dezelfde verkooprijs staan.
 
Lijkt mij logisch :D. Ik zou zeggen: laat de query maar eens zien. Liefst uiteraard de SQL.
 
UPDATE Artikel INNER JOIN Orderregel ON Artikel.Code = Orderregel.ArtikelCode SET Orderregel.Verkoopprijs = "Verkooprichtprijs"
WHERE (((Orderregel.Verkoopprijs)=0)); .....
 
Die zou ik ook niet aan de praat krijgen :). Je probeert een tekst ("Verkooprichtprijs") in een valutaveld te dumpen. Dat gaat natuurlijk niet lukken. Ik gaf de goede syntax eigenlijk al aan in berichtje #12, en je deed het zelfs zelf ook al goed in bericht #9!

Code:
    UPDATE Artikel INNER JOIN Orderregel ON Artikel.Code = Orderregel.ArtikelCode SET Orderregel.Verkoopprijs = Artikel.Verkooprichtprijs

Zou moeten werken.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan