Toon posts:

[Access] record kopie probleem -> verdubbeling data

Pagina: 1
Acties:
  • 108 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik heb een probleem met betrekking tot het kopieren van een gedeelte van een record naar een nieuw record. Ik heb namelijk een knop op mijn Front form die een INSERT query uitvoert op de tabel waarop het formulier gebaseerd is ('Invoer') en meteen het nieuw gemaakte record opent. Hiertoe heb ik als voorbeeld de volgende INSERT query:

INSERT INTO Invoer ( CustID, Name )
SELECT forms!Front!CustID AS Expr1, forms!Front!Name AS Expr2
FROM Invoer;

Deze query kopieert dus de gegevens die ik al op mijn Front form heb ingevoerd naar een nieuw record. Om meteen naar het nieuwe record te gaan en de data te kunnen bekijken, heb ik de volgende VB code voor de knop die de query uitvoert (waarbij 'customercopy' de naam is van de INSERT query :P ):

stDocName = "customercopy"
DoCmd.OpenQuery stDocName, acNormal, acEdit
Me.Requery
DoCmd.GoToRecord , , acNext

Nu werkt het in eerste instantie goed, ik kan op mijn formulier op de knop klikken en de betreffende velden worden gekopieerd naar een volgend record waar ik meteen heen wordt gebracht vanwege de VB code. Klik ik nu echter nog een keer op de knop, dan gaat het mis. Nu worden er nog eens 2 records toegevoegd, waar ik ook nog eens niet naartoe wordt gebracht, ik spring zelfs weer terug naar mijn beginrecord (het record vanwaar uit ik de tweede keer op de knop klikte).
Klik ik nog een keer gebeurt hetzelfde met 4 records, enz..

Heeft er iemand ervaring met dit probleem, of kan er iemand de oplossing voor bedenken, ik ben er al de hele ochtend mee bezig maar ik kom niet verder..

  • Deegroller
  • Registratie: November 2001
  • Laatst online: 24-03-2025
Het lijkt alsof je de gehele tabel kopieert, ipv enkel het laatste record. ( vanwege het toenemende aantal kopieën 2 -> 4 -> 8 etc..).

Wellicht ligt daar de oorzaak?

[ Voor 4% gewijzigd door Deegroller op 05-08-2004 13:40 ]

Geweldige hand-oog-coördinatie dankzij Wacom en Playboy!


Verwijderd

Topicstarter
Ik heb net nog even getest, en het blijkt zo te zijn, dat het betreffende record zovaak wordt gekopieerd als het totale aantal records dat in de database zit, dus vandaar die 1 - 2 - 4...
Maar nu weet ik nog niet waar dat aan ligt!
Iemand een idee?

  • Bolhuis
  • Registratie: Juli 2004
  • Laatst online: 11-10-2006
Verwijderd schreef op 05 augustus 2004 @ 11:44:
Hiertoe heb ik als voorbeeld de volgende INSERT query:

INSERT INTO Invoer ( CustID, Name )
SELECT forms!Front!CustID AS Expr1, forms!Front!Name AS Expr2
FROM Invoer;
Deze insert query voegt alle records waarvoor de select geldt nogmaals toe!
Ik denk dat je dit beter via VBA kunt doen.

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Verwijderd schreef op 05 augustus 2004 @ 11:44:
INSERT INTO Invoer ( CustID, Name )
SELECT forms!Front!CustID AS Expr1, forms!Front!Name AS Expr2
FROM Invoer;
FROM Invoer slaat in dit verband nergens op. Weg ermee, probleem opgelost. Select geeft twee constante waarden terug, die je vervolgens laat combineren met alle records in de tabel invoer. Dus die waarden worden keurig net zo vaak herhaald als dat je records in je tabel hebt.
link uit de faq

[ Voor 4% gewijzigd door Lustucru op 05-08-2004 14:02 ]

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


Verwijderd

Topicstarter
It works like a charm! Achteraf gezien ook erg logisch, maar ja, als je het ff niet ziet...
_/-\o_
Hartstikke bedankt!
Pagina: 1