paste (plakken) probleem

Status
Niet open voor verdere reacties.

on8gt

Gebruiker
Lid geworden
30 dec 2014
Berichten
16
Beste,

Beetje ten einde raad, ik heb access vernieuwd 2007 naar 2013, alles werkt tereug naar behoren op een functie na.

unction macro10()
On Error GoTo macro10_Err

With CodeContextObject
DoCmd.GoToControl "2"
If (IsNull(.[2])) Then
DoCmd.GoToControl "art prijs"

End If
If (IsNull(.[2])) Then
Exit Function
End If
DoCmd.GoToControl "2"
DoCmd.RunCommand acCmdCopy
DoCmd.GoToControl "art prijs"
DoCmd.RunCommand acCmdPaste

End With


macro10_Exit:
Exit Function

macro10_Err:
MsgBox Error$
Resume macro10_Exit

End Function

"
Het lijntje " DoCmd.RunCommand acCmdPaste " doet het niet, als ik dan zelf control v druk staat mijn waarde in mijn veld, dus enkel het "plakken" wordt niet uitgevoerd.
Dat werkt reeds vele jaren vanaf access 98 en is steeds meegegroeid zonder problemen, tot op heden.
Ik vermoed dat het iets met de "focus" te maken heeft maar kan geen code schrijven die werkt, heb al vanalles geprobeerd.


Beetje help zou zeer welkom zijn.

MVG

Geert
 
Wat een ongelooflijk ingewikkelde manier om de waarde van één veld te kopieëren naar een ander veld.
Code:
Sub macro10()
    If IsNull(Me.[2]) Then
        Me.[art prijs].SetFocus
        Exit Sub
    Else
        Me.[art prijs].Value = Me.[2].Value
    End If
End Sub
 
Me

Knipsel.PNG

Beste Octafish,

Bedankt voor de snelle reactie.


Ik krijgsteeds compileerfout "ongeldig gebruik van het sleutelwoord Me"

Geert
 
Ik ging er vanuit dat je de macro op formulier gebruikt, en dan werkt dat prima. Blijkbaar doe je dat niet, en dan moet je toch iets meer vertellen van hoe je de macro hebt neergezet.
 
paste,

Eigenlijk werkt mijn eerste macro prima, maar het laatse lijntje "DoCmd.RunCommand acCmdPaste".
Doet het niet.

MAW mijn waarde verschijnt in het veld, maar wanneer ik enter druk wordt het veld leeg.

Delete ik de laatse lijn "DoCmd.RunCommand acCmdPaste" dan komt mijn waarde uiteraard ook in mijn veld, en als ik dan met het toetesenbord "control V " druk blijft mijn waarde staan als ik enter druk om naar het volgende veld te gaan, en wordt in mijn tabel geschreven.

Dus het gaat enkel mis met het "paste " gedeelte of het drukken van de entertoets

Geert
 
Ik blijf erbij dat je zo'n macro op die manier nooit moet maken; mijn techniek is vele malen betrouwbaarder. Maar zolang je niet goed uitlegt hoe je de macro gebruikt, kan ik verder ook niet zoveel helpen. Op één of ander moment wordt de macro gestart bijvoorbeeld. Dat zou het punt moeten zijn waarop de actie correct wordt uitgevoerd. Ik snap ook niet waarom je er een functie van hebt gemaakt, want de uitgevoerde handeling is helemaal geen functie, maar een gewone procedure die op één plek iets doet met 2 vaste velden. Een sub dus, en geen functie. Een functie moet generiek zijn, en overal inzetbaar. Dat is deze functie duidelijk niet.
 
paste,

Beste,

Mijn kennis van programeren is vrij beperkt, de code is gegenereerd uit access en was oorspronkelijk een macro.

Na een beetje zoekwerk werk jou code prima voor 1 veld, maar nu gebruik ik dat voor 2 velden en ofwel werkt het voor art_omschrijving of voor art_nr.

Niet voor beide velden hoe kan ik dit aan dit veld en "na bijwerken" gebruiken voor beide.
Op de manier hieronder werkt dit niet.
Alvast heel erg bedankt voor de code

Option Compare Database
Option Explicit

Private Sub art_nr_AfterUpdate()
If IsNull(Me.[1]) Then
Me.[art omschrijving].SetFocus
Exit Sub
Else
Me.[art omschrijving].Value = Me.[1].Value
End If

End Sub

Private Sub art_omschrijving_AfterUpdate()
If IsNull(Me.[2]) Then
Me.[art prijs].SetFocus
Exit Sub
Else
Me.[art prijs].Value = Me.[2].Value
End If
End Sub
 
Ik snap je probleem niet; je hebt 2 verschillende gebeurtenissen voor 2 verschillende velden, dus dat bijt elkaar toch niet? Overigens vind ik veldnamen als [1] en [2] erg onhandig. Maar daar zul je vast een goede reden voor hebben :).
En nog iets: kun je de code opmaken met de CODE knop, zoals in mijn voorbeeldje? Dan is de code een stuk leesbaarder.
 
Beste,

HPNY

Alles werkt terug als voorheen, voor mij was het wel een beetje knip en plakwerk.

Bedankt voor alle moeite.

BR Geert
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan