SQL update werkt niet correct

Status
Niet open voor verdere reacties.

wilmaborst

Gebruiker
Lid geworden
29 mei 2020
Berichten
5
Misschien kan iemand mij helpen met een gekke situatie:
Ik heb een ongebonden formulier die door middel van sql gegevens in tabellen update danwel toevoegt. Nu werkt mijn sql update alleen voor de records die in de tabel bestonden toen ik het formulier maakte. Later toegevoegde records update hij niet.
Als ik de procedure stap voor stap doorloop, zie ik wel de juiste gegevens verschijnen. Maar het wordt gewoon niet verwerkt. Iemand enig idee waar dit door kan komen? Als de vraag niet duidelijk is, hoor ik het graag!
 
Helemaal duidelijk is het inderdaad niet :). Je hebt een niet-gebonden formulier, zeg je. Maar je wilt daar wél records in zien? Hoe vul je dat formulier dan? Doorgaans gebruik je een niet-gebonden formulier om nieuwe records toe te voegen aan een tabel; die zie je dan uiteraard nooit terug in je formulier, omdat dat niet gebonden is. Je kunt alleen records op een niet-gebonden formulier zien als je werkt met een virtuele tabel. Dus de vraag is dan: gebruik je die vorm?
 
Enkele vragen?
In welk database zijn je tabellen aangemaakt? SQL server, MySQL, MariaDB of staan je tabellen in een access bestand? Van virtuele tabellen heb ik nog niet gehoord, maar wel CTE's (common table expressions) en tijdelijke tabellen, gebruik je deze?
Krijg je een foutmelding? Wat is de update instructie?
 
Allebei dank je wel dat je de moeite hebt genomen om mijn vraag te lezen en mee te denken. Inmiddels heb ik het opgelost en het bleek, hoe genant, iets heel simpels te zijn. Namelijk de volgorde van de sql's en een gekoppelde tabel die bij de een niet en de ander wel gevuld was... stom!

Maar ik ben wel benieuwd, wat zijn virtuele tabellen?
 
Staat in de cursus die ik geschreven heb, en die je in de Handleidingen sectie kan terugvinden :). En die Noella dus ook niet gelezen heeft :D. Maar om iets minder kort door de bocht te gaan: een virtuele tabel is een tabel die alleen in het geheugen is geladen. Verder werkt hij precies als een normale tabel, maar, omdat de complete tabel in het geheugen staat, werkt hij razendsnel omdat er geen schrijfacties naar schijf nodig zijn. Je kunt een virtuele tabel maken met een ADO recordset, en die bijvoorbeeld als gegevensbron onder een formulier hangen.
In de cursus gebruik ik als voorbeeld een formulier dat dus eerst een virtuele tabel aanmaakt op basis van een bestaande tabel, waarna je records kan toevoegen, muteren etc. En op een zelf te bepalen moment schrijf je de gegevens weer terug naar de brontabel. Dat kan je per record doen, of in één keer de hele batch aan mutaties. Dit systeem werkt ook heel goed als je met veel personen in één (backend) database werkt, omdat elke gebruiker zijn eigen (virtuele) tabellen heeft, en er dus alleen van de brontabel gebruik gemaakt wordt op het moment dat je wat wegschrijft.
Een nadeel is uiteraard wel dat je bij een computercrash gelijk alle mutaties kwijt bent, als je niks wegschrijft :).
 
Hallo OctaFish, ik ga meteen naar je cursus kijken. Ik was me er niet van bewust dat ik dat hier ook kon vinden. Nogmaals bedankt! Voor nu is mijn probleem in ieder geval opgelost, dus ik zal deze vraag sluiten.
 
Niet in mijn woordenboek.
 
is de term die Microsoft gebruikt, komt niet van mij
 
Neemt niet weg dat als ik een virtuele tabel een 'virtuele tabel' noem, dat dat een correcte term is. Ik werk niet bij Microsoft, en hoef mij dus ook niet te houden aan de daar gebruikte termen. Bovendien is mijn Engels vrij goed, en ik vind de benaming 'common table expressions' een hele slechte. Een tabel is nooit een expressie, 'common' of niet.
 
Bij de teams meeting van morgen zal ik het aan mijn collega's doorgeven
 
Laat vooral weten hoe ze regeren :). Overigens kom je de meest bizarre gewoontes tegen op de werkvloer, dus je zult enige moeite moeten doen om mij van mijn stoel te laten vallen :D.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan