04. november 2004 - 15:50
Der er
30 kommentarer og 1 løsning
Flyt data ved click hændelse
Jeg har en en tabel som indeholder følgende: Navn1 Gade1 Postnummer1 By1 Navn2 Gade2 Postnummer2 By2 Fra min formular skal det være muligt når jeg trykke på en knappe at kopiere alle 1 ´erne ind i felterne med 2 ´erne - Det vil sige kopiere Navn1 over i felt navn2 osv. Grunden er at jeg har en betalingsadresse og og leveringsadresse - men ofte er den den samme og så skal man have mulighed for blot at trykke på en knappe så smider den betalingsadressen over i leveringsadrssen -
Annonceindlæg fra Thales
04. november 2004 - 15:56
#1
Lav en opdateringsforespørgsel som du indsætter som click hændelse UPDATE Tabel SET Tabel.Navn2 = [Tabel]![Navn] WHERE (((Tabel.Navn)=[Formularer]![Formular]![Navn1]));
04. november 2004 - 15:58
#2
Kan uddybe lidt;-)
04. november 2004 - 16:01
#3
UPDATE tblEmner SET tblEmner.Navn1 = "Navn2", tblEmner.Gade1 = "Gade2", tblEmner.Nr1 = "Nr2", tblEmner.Opgang1 = "Opgang2", tblEmner.Etage1 = "Etage2", tblEmner.Side1 = "Side2", tblEmner.Postnummer1 = "Postnummer2", tblEmner.By1 = "By2", tblEmner.Email1 = "Email2";
04. november 2004 - 16:04
#4
Præcis ... Syntaxen WHERE (((Tabel.Navn)=[Formularer]![Formular]![Navn1])); sikrer, at dt udelukkende er den aktuelle post du opdaterer kan også skrives sådan : WHERE (((Tabel.Navn)=Me![Navn1]));
04. november 2004 - 16:04
#5
dette var i hvertfald ikke rigtigt - hmmm
04. november 2004 - 16:05
#6
Ups ... :o) WHERE (((Tabel.Navn1)=Me![Navn1]));
04. november 2004 - 16:08
#7
UPDATE tblEmner SET tblEmner.Navn2 = tblEmner.Navn1, tblEmner.Gade2 = tblEmner.Gade1, .... tblEmner.Email2 = tblEmner.Email1 WHERE (((tblEmner.Navn1)=Me![Navn1]));
04. november 2004 - 16:10
#8
Det går slet ikke for mig det her - Private Sub Kommandoknap347_Click() UPDATE tblEmner where tblEmner.Navn1 = me.Navn2, tblEmner.Gade1 = me.Gade2, tblEmner.Nr1 = me.Nr2, tblEmner.Opgang1 = "Opgang2", tblEmner.Etage1 = me.Etage2, tblEmner.Side1 = me.Side2", tblEmner.Postnummer1 = me.Postnummer2, tblEmner.By1 = me.By2, tblEmner.Email1 = me.Email2; End Sub
04. november 2004 - 16:15
#9
Ok ... got it ... Du skal lige indføje DoCmd.Setwarnings False DoCmd.RunSQL "UPDATE tblEmner SET tblEmner.Navn2 = tblEmner.Navn1, " & _ "tblEmner.Gade2 = tblEmner.Gade1, " & _ ".... " & _ "tblEmner.Email2 = tblEmner.Email1 " & _ "WHERE (((tblEmner.Navn1)=Me![Navn1]));" DoCmd.Setwarnings True Kender du SQL systematikken ?
04. november 2004 - 16:17
#10
nej ikke helt - derfor er det lidt svært for mig
04. november 2004 - 16:18
#11
Alternativt kan du oprettet hele denne i en forespørgsel : UPDATE tblEmner SET tblEmner.Navn2 = tblEmner.Navn1, tblEmner.Gade2 = tblEmner.Gade1, .... tblEmner.Email2 = tblEmner.Email1 WHERE (((tblEmner.Navn1)=Me![Navn1])); og så benytte : DoCmd.Setwarnings False DoCmd.OpenQyery "queryNavn" DoCmd.Setwarnings True
04. november 2004 - 16:21
#12
Det der forvirre mig er WHERE (((tblEmner.Navn1)=Me![Navn1])); Dette skal jeg vel skrive ved alle felter ik?
04. november 2004 - 16:21
#13
Hvis jeg ikke kan lave det må de jo bare indtaste det hele igen..
04. november 2004 - 16:22
#14
Tror bare jeg laver det i Vb kode ved at sætte de enkelte = hinanden
04. november 2004 - 16:24
#15
Det som er meningen er, at WHERE (((tblEmner.Navn1)=Me![Navn1])) sikre, at det kun er denne ene post som du foretager kopieringen for, hvis du undlod denne, ville kopieringen foretages for samtlige poster i tabellen, hvilket vel ikke er meningen. Det forudsætter naturligvis af Navn1 er en unik værdi, ellers kunne du benytte et andet felt
04. november 2004 - 16:26
#16
Hvis jeg skulle komme med et forslag, ville jeg markere i tabellen, at Leveringsadresse er den samme som betalingsadressen ( Ja/Nej )
04. november 2004 - 16:28
#17
Okay Emneid er det unikke - Ja hvis jeg kunne gøre det med et ja/nej og den så flytter det hele til navn2, gade 2 osv - så ville det være kanon
04. november 2004 - 16:32
#18
Det var ikke det, som jeg mente med at markere ja/nej. Meningen var, at du efterfølgende kunne udvælge data ved hjælp af ja/nej markeringen If Mark = "Ja" Then Leveringsadresse = Navn1 Else Leveringsadresse = Navn2 End If
04. november 2004 - 16:33
#19
Okai den holder ikke - da vi skal rapportere begge adresser hver gang -
04. november 2004 - 16:33
#20
Jeg leger lige lidt med det
04. november 2004 - 16:36
#21
Det kan du også ... men du skal vist arbejde lidt mere med Access inden da :o) Din forespørgsel skal se således ud : UPDATE tblEmner SET tblEmner.Navn2 = [tblEmner]![Navn1], tblEmner.Gade2 = [tblEmner]![Gade1], tblEmner.Nr2 = [tblEmner]![Nr1], tblEmner.Opgang2 = [tblEmner]![Opgang1], tblEmner.Etage2 = [tblEmner]![Etage1], tblEmner.Side2 = [tblEmner]![Side1], tblEmner.Postnr2 = [tblEmner]![Postnr1], tblEmner.By2 = [tblEmner]![By1], tblEmner.Email2 = [tblEmner]![Email1] WHERE (((tblEmner.Emneid)=[Formularer]![Formular]![Emneid])); Navngiv så forespørgslen, og benyt denne i click hændelsen DoCmd.Setwarnings False DoCmd.OpenQyery "Forespørgselsnavn" DoCmd.Setwarnings True
04. november 2004 - 16:38
#22
Stavefejl : DoCmd.OpenQuery "Forespørgselsnavn"
04. november 2004 - 16:44
#23
WHERE (((tblEmner.Emneid)=[Formularer]![Formular]![Emneid])); Formularer!Formular - Er det bare navnet på min formlar??
04. november 2004 - 16:46
#24
Korrekt ... :o) [Formularer]![DitFormularNavn]![Emneid] ...
04. november 2004 - 16:47
#25
UPDATE tblEmner SET tblEmner.Navn2 = [tblEmner]![Navn1], tblEmner.Gade2 = [tblEmner]![Gade1], tblEmner.Nr2 = [tblEmner]![Nr1], tblEmner.Opgang2 = [tblEmner]![Opgang1], tblEmner.Etage2 = [tblEmner]![Etage1], tblEmner.Side2 = [tblEmner]![Side1], tblEmner.Postnummer2 = [tblEmner]![Postnummer1], tblEmner.By2 = [tblEmner]![By1], tblEmner.Email2 = [tblEmner]![Email1] WHERE (((tblEmner.Emneid)=Me![Emneid]));
04. november 2004 - 16:49
#26
Er ikke helt sikker, men mener at du skal bruge hele syntaxen, når du benytter den i en forespørgsel, altså : [Formularer]![DitFormularNavn]![Emneid]
04. november 2004 - 16:54
#27
Det virker - men det er som om jeg skal ud og ind igen før det virker - den kommer ikke bare automatisk
04. november 2004 - 16:56
#28
Afslut med Me!Refresh det skulle opdatere den aktuelle visning
04. november 2004 - 17:00
#29
Takker
04. november 2004 - 17:01
#30
Den gør det godt nok ikke med det samme jeg skal trykke to gange på knappen - men så virker det også og det er ellers en almindelig Click event
04. november 2004 - 17:01
#31
Velbekommen
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser