Avatar billede areon Nybegynder
08. december 2004 - 17:48 Der er 45 kommentarer og
1 løsning

Udvælgelse og overflytning af felt fra en tabel til en anden?

Hejsa..
Jeg sidder med en Telemarketing database hvor Telemarketingmedarbejderne skal have mulighed for på samme tid at arbejde med én tabel selvfølgelig indsat i en Form....
Dette vil sige at de alle ser de samme Feldter med "Firmanavn" og telefonnummer. (Fra eks. tabellen "TeleMarketingEmner")
Når man trykker på et felt, bliver dette felt låst!, og ingen andre kan nu åbne dette felt..
Hvis Telemarketingmedarbejderen ønsker at tage "ejerskab" over denne kunde, vælger hun sine initialer under "Owner".
HEREFTER spørge hun kunden om han/hun er interesseret i Produktet og kunden siger Ja eller nej....
SIGER kunden JA, Trykker Telemarketingdamen punktet for JA af og "SAVE AND UPDATE".
Dette skulle så gøre at kunden bliver overflyttet fra Tabellen "TelemarketingEmner" til "Customers"....

Håber at i kan forstå hele ramsen... :)

Så hvis vi lige skal opsumere:
Først: Aktivering og sælger låsning af "Potentiel Kunde"..
Anden: Overføring af kunde fra Tabellen "TeleMarketingEmner" til "Customer"
Med venlig hilse
Jack
Avatar billede mugs Novice
08. december 2004 - 17:53 #1
Det nemmeste for dig at gøre, ar at lave en tilføjelsesforespørgsel.

Databasevindue > Fanen Forespørgsler > Ny.

Gå i menuen Forespørgsler og vælg typen: Tilføjelsesforespørgsel.

Du skal indsætte den tabel, der skal levere data (TeleMarketingEmner) og indsætter relevante data. Hvis felterne hedder det samme i begge tabeller, vil Access foreslå det relevante felt.

Du kan samtidig indsætte kriterier.
Avatar billede mugs Novice
08. december 2004 - 17:56 #2
Du kan også lave en SQL, som du kører fra VBA efter opskriften:

Docmd.RunSQL "INSERT INTO Customer (FELTNAVN)SELECT TeleMarketingEmner.FELTNAVN FROM TeleMarketingEmner"
Avatar billede areon Nybegynder
08. december 2004 - 18:10 #3
MUGS du er Og bliver en Guru...Prøver det lige
Avatar billede areon Nybegynder
08. december 2004 - 18:34 #4
Mugs hva hedder TilføjelsesForespørgsel i den engelske version?
- simple query Wiz
- CrossTab query Wiz
- Find Dublicates query Wiz
- Find unmatched Query Wiz

==????
Avatar billede mugs Novice
08. december 2004 - 18:37 #5
Der skal ikke bruge nogen guide (wizard). Blot vælge ny og en simpel udvælgelsesforespørgsel. Først inde i forespørgselsdesignet vælger du en tilføjelsesforespørgsel.
Avatar billede areon Nybegynder
08. december 2004 - 18:38 #6
ok prøver li
Avatar billede areon Nybegynder
08. december 2004 - 18:47 #7
Godt nu er jeg ved at linke de to databaser sammen.. således at
Fra "CallList" To "Contacts":
Include All Revords from Calllist and only those rebords from Contacts Where the Joined Fields are Equal...
Lyder det ikke rigtigt??

Både for feltet CompanyName og WorkPhone...

Hvordan får jeg den så til at overfører ved hjælp af et tryk på en Knap?? og så den kun overføre lige den Person som jeg har åbnet i min formular.. (Altså kun det fedt i tabellen)?
Avatar billede mugs Novice
08. december 2004 - 18:52 #8
Nej - Uden at kende den engelske version mener jeg ikke det er korrekt.

Hvilke tabeller ser du i forespørgselsdesignet?
Avatar billede areon Nybegynder
08. december 2004 - 18:56 #9
jeg har sat Contact tabellen og CallList tabellen ind...
Fra dem har jeg sat RelationsPil fra CallList!Comanyname til Contact!CompanyName og samme med WorkPhone feltet??
forkert?
Avatar billede mugs Novice
08. december 2004 - 19:03 #10
Du skal kun have den tabel der skal levere data "TelemarketingEmner".

Når du har den inde i forespørgselsdesignet (uden at vælge felter), går du op på den vandrette menulinie og vælger det punkt der i den danske version hedder "Forespørgsler". Her åbner du dialogboksen og finder Tilføjelsesforespørgsel (Og jeg ved ikke hvad det hedder i den engelske version). Men der skal poppe en ny boks op, der beder dig indtaste den tabel der skal modtage data (Customer). Herefter trykker du på OK.

Tilbage til forespørgelsdesignet. Nu vælger du de felter der skal overføres. Hvis felterne hedder det samme i begge tabeller, vil Access foreslå et "modtagerfelt", og det accepterer du bare.

Nu vil Access overføre ALLE poster. Du skal have indsat et kriterie, men det synes jeg vi skal vente med til tilføjelsen er færdig. Du kan jo blot slette alle data i Customer og så prøve igen.
Avatar billede areon Nybegynder
08. december 2004 - 19:09 #11
Jamen Det er gjort.. det hed Append Query.. og nu Appender den To de samme felter i Contact.. :)

tester jeg ige
Avatar billede areon Nybegynder
08. december 2004 - 19:12 #12
GudfriMigVel om den ikke gjorde det... Det er jo lige det.. nu skal vi have lavet således at denne funktion KUN sker ved Tryk af en knap og kun den bruger som der er i FormVinduet på det givende tidspunkt..
Avatar billede mugs Novice
08. december 2004 - 19:14 #13
OK.

Nu laver du en knap i din formular. I dennes VedKlik (OnClick) skriver du nu:

Docmd.OpenQuery "NAVNET PÅ DIN TILFØJELSESFORESPØRGSEL"

Afprøv og vend tilbage.
Avatar billede areon Nybegynder
08. december 2004 - 19:25 #14
Supert virker... dog vælger den at overføre alle fire poster istedet for kun lige den jeg står på.. men funktionaliteten er der. :)

PS. Jeg vil oz meget gerne have den til at slette "Emnet" fra "TeleMarketingsEmner" når den er valgt overført..
Avatar billede mugs Novice
08. december 2004 - 19:33 #15
Den SKAL overføre alle poster, da vi ikke har indsat et kriterie endnu. Du gør nu dette:

Åbn forespørgslen i Designvisning og i det unikke felt, der kendetegner kunden indtaster du:

[Forms]![FORMULARNAVN]![ID PÅ UNIK KUNDE]

På denne måde refererer du til din formular, og kun kunden med det aktuelle ID vil blive overført.

Du sletter kunden fra "TeleMarketingsEmner" på stort set samme måde som med en tiloføjelsesforespørgsel, blot vælger du en Sletteforespørgsel i stedet for. Husk dit kriterie, ellers vil du slette ALLE poster i "TeleMarketingsEmner".

Du får en advarsler om, at du er ved at tilføje en post. Den kan du omgå således:

Docmd.SetWarnings = False
Docmd.OpenQuery "NAVNET PÅ DIN TILFØJELSESFORESPØRGSEL"
Docmd.OpenQuery "NAVNET PÅ DIN SLETTEFORESPØRGSEL"
MsgBox "Dataoverførslen er afsluttet."
Docmd.SetWarnings = True

Når du bruger Warnings = False, skal du altid huske at sætte dem til True ige, ellrs vil ALLE advarsler forblive frakoblede i HELE applikationen, hvilket betyder, at du ikke vil blive promptet for fatale fejl.
Avatar billede areon Nybegynder
08. december 2004 - 20:09 #16
Den siger, når jeg trykker på knappen:
Compile Error:
Argument not optional

Og markere DoCmd.SetWarnings =

Hvad kan det være??
Avatar billede mugs Novice
08. december 2004 - 20:13 #17
Nok min fejl. Prøv med denne:

Docmd.SetWarnings False
Docmd.OpenQuery "NAVNET PÅ DIN TILFØJELSESFORESPØRGSEL"
Docmd.OpenQuery "NAVNET PÅ DIN SLETTEFORESPØRGSEL"
MsgBox "Dataoverførslen er afsluttet."
Docmd.SetWarnings True
Avatar billede areon Nybegynder
08. december 2004 - 20:21 #18
Og så lige den sidste ting!!! hihihi
Update samme Form, OG viderSend telemarketing Medarbejdere til "Form!Kunderoversig" formen. (Hvor hun skriver de resterende Oplysninger om kunden ned...)

Men når hun ankommer i "Form!kundeoversig" er det den "Nye" brugers informationer der er slået op?? 
Sidste for iaften.. hihi
Har flere til dig imorgen og 100 Nye Points. :)
Avatar billede mugs Novice
08. december 2004 - 20:25 #19
DoCmd.OpenForm "Kundeoversig"
Forms!Kundeoversig!ID.SetFocus
DoCmd.FindRecord Me!ID

Er "Kundeoversig" en stavefejl og hedder den ikke "Kundeoversigt"
Avatar billede mugs Novice
08. december 2004 - 20:28 #20
Den går vist ikke, idet du jo har slettet kunden fra "TeleMarketingsEmner". Du skal nok tage det i eet hug:

Docmd.SetWarnings False
Docmd.OpenQuery "NAVNET PÅ DIN TILFØJELSESFORESPØRGSEL"
DoCmd.OpenForm "Kundeoversig"
Forms!Kundeoversig!ID.SetFocus
DoCmd.FindRecord Me!ID
Docmd.OpenQuery "NAVNET PÅ DIN SLETTEFORESPØRGSEL"
MsgBox "Dataoverførslen er afsluttet."
Docmd.SetWarnings True

I din sletteforespørgsel, skal du så referere til "Kundeoversig" i stedet for til "TeleMarketingsEmner".
Avatar billede mugs Novice
08. december 2004 - 21:22 #21
Hvordan går det?
Avatar billede areon Nybegynder
09. december 2004 - 07:23 #22
hejsa mugz.. måtte lynløbe igår da jeg fik en grim opringning.. men er på job igen nu og arbejder videre på databasen nu.. Please skriv når du er på så laver jeg lige en ny med 100Points mere til dig for hjælp idag. :)

FOR NU GÅR D HER PROJEKT FANDEME FREMA når du sidder bagpå.. :) hihi
Avatar billede mugs Novice
09. december 2004 - 08:21 #23
Tak skal du have. Jeg spekulerede godt nok på, hvor du blev af iaftes. Jeg synes at vi skal tage een ting af gangen og gøre dette færdigt, inden vi starter med noget nyt.

Jeg har kun ringe mulighed for at være på nettet i arbejdstiden, men vil ind imellem checke min webmail.

Fungerer koden i min kommentar Kl 20:28:59?
Avatar billede areon Nybegynder
09. december 2004 - 10:48 #24
Nu skal du bare høre Mugz...

Overførselfunktionen fra 20:28:59 virker fint MEN den tager ikke alle Oplysninger med over?? Den tager kun de oplysninger som er indlæst i tabellen på forhånd altså CompanyName og PhoneNumber, Felterne FirstName, LastName og Owner kommer ikke med over....
Somom disse oplysninger ikke er GEMT i tabellen?? For Hvis jeg UDFYLDER FirstName, LastName og Owner, Lukker Formen og åbner den igen OG så Trykker "JaTak" knappen kommer alt med over..... Somom den mangler en gem funktion...
Jeg har dog også prøvet at indsætte FirstName, LastName og Owner og så gemme og trykke jatak men virker stadig ikke... (Formen skal lukkes og åbnes..)
Giver det mening hos dig?
Avatar billede areon Nybegynder
09. december 2004 - 11:30 #25
Jeg søger egentlig koden til at lukke en den active FORM, Genåbne den, Slå op på "Emnet" som var slået op før lukning, og sÅ:
Docmd.OpenQuery "NAVNET PÅ DIN TILFØJELSESFORESPØRGSEL"
DoCmd.OpenForm "Kundeoversig"
Forms!Kundeoversig!ID.SetFocus
DoCmd.FindRecord Me!ID
Docmd.OpenQuery "NAVNET PÅ DIN SLETTEFORESPØRGSEL"
MsgBox "Dataoverførslen er afsluttet."
Docmd.SetWarnings True

Så virker det som jeg vil have det....
Avatar billede mugs Novice
09. december 2004 - 11:32 #26
Ja:

(Formen skal lukkes og åbnes..)

Det er tilsyneladende en ny post (eller en rettelse til en eksisterende post) du ønsker at overføre.

Hvis det er en rettelse, kan du nøjes med en Me.Refresh, som ajourfører en eksisterende post. Altså:

Docmd.SetWarnings False
Me.Refresh
Docmd.OpenQuery "NAVNET PÅ DIN TILFØJELSESFORESPØRGSEL"
DoCmd.OpenForm "Kundeoversig"
Forms!Kundeoversig!ID.SetFocus
DoCmd.FindRecord Me!ID
Docmd.OpenQuery "NAVNET PÅ DIN SLETTEFORESPØRGSEL"
MsgBox "Dataoverførslen er afsluttet."
Docmd.SetWarnings True

Hvis det er en helt ny post, må vi en anden vej, men prøv om ikke Me.Refresh kan løse problemet. Gør det ikke det, vil jeg gerne vide om det er en helt ny post du opretter i "TeleMarketingsEmner"
Avatar billede mugs Novice
09. december 2004 - 11:34 #27
Så krydsede vi lige hinanden. Vi er enige om problemet, men mon ikke vi kan finde en mere elegant måde at løse det på, end liggefrem at lukke og åbne.
Avatar billede areon Nybegynder
09. december 2004 - 11:39 #28
Hvaaa har selv lige prøvet: (Er det her volapyk?)

Docmd.SetWarnings False
Forms!ActiveCaller!CallTabelId.SetFocus
DoCmd.Close
DoCmd.OpenForm "CallTabelId"
DoCmd.FindRecord Me!CallTabelId
Docmd.OpenQuery "NAVNET PÅ DIN TILFØJELSESFORESPØRGSEL"
DoCmd.OpenForm "Kundeoversig"
Forms!Kundeoversig!ID.SetFocus
DoCmd.FindRecord Me!ID
Docmd.OpenQuery "NAVNET PÅ DIN SLETTEFORESPØRGSEL"
MsgBox "Dataoverførslen er afsluttet."
Docmd.SetWarnings True
Avatar billede areon Nybegynder
09. december 2004 - 11:44 #29
ja jeg kan selvfølgelig ikke "DoCmd.FindRecord Me!CallTabelId" når tabellen Formen har været lukket!!/(¤&%#¤ hihi

Kan jeg gøre noget så den husker hvor jeg var før den lukkede? eller noget andet smart...  (Troede lidt det var hvad den SetFocus funktion Gjorde.. :( )
Avatar billede mugs Novice
09. december 2004 - 11:44 #30
Fungerer den? Jeg tvivler på, at den finder den rigtige record.
Avatar billede areon Nybegynder
09. december 2004 - 11:45 #31
gjorde den hellerikke... :(
Er åben for noget mere elegant.. hihi
Avatar billede areon Nybegynder
09. december 2004 - 11:52 #32
ved ud hvad mester.. din Me.Refresh virkede... nu er det lige som det skal være... da som du sagde var det en tilføjelse til et allerede etableret Emne og ikke en NyIndsættelse...

Bravt!! bravt..
Nu skal du så høre
Avatar billede areon Nybegynder
09. december 2004 - 11:54 #33
en lille Svipser... Når jeg så vender tilbage til "CallList" altså hvor alle "CompanyName" og "PhoneNumber" står (10000-15000 af dem) så står der i toppen.. #Deleted hvor den gamle kunde var... Den forsvinder ikke ved "Me.Refresh"..
Hva gør man her... han forsvinder jo når jeg lukker og åbner..
Avatar billede areon Nybegynder
09. december 2004 - 11:56 #34
Anden Del af dette Spm. var omkring Låsning... da dette skal laves til et Flerbruger system (Som du jo allerede har lært mig! hihi :) ) vil jeg gerne låse så når EN TelemarketingsBanan har "Taget" en kunde og arbejder med ham i et åbent vindu, at de andre ikke også kan tage ham og de sidder og ringer til den samme....

Hvordan gør vi lige det??  De har selvfølgelig forskellige logins hvis det kan hjælpe...
Avatar billede mugs Novice
09. december 2004 - 11:58 #35
Giv mig lige 5 min.
Avatar billede areon Nybegynder
09. december 2004 - 12:01 #36
Np
Avatar billede mugs Novice
09. december 2004 - 12:01 #37
En Refdresh er ikke nok til at fjerne / tilføje posdter i formularen / tabellen. Der skal en Requery til. Men så stiller formularen sig på første post i forespørgslen. Men prøv denne:

Dim bookm
Docmd.SetWarnings False
bookm = Me.Bookmark
Me.Requery
Me.Bookmark = bookm
Docmd.OpenQuery "NAVNET PÅ DIN TILFØJELSESFORESPØRGSEL"
DoCmd.OpenForm "Kundeoversig"
Forms!Kundeoversig!ID.SetFocus
DoCmd.FindRecord Me!ID
Docmd.OpenQuery "NAVNET PÅ DIN SLETTEFORESPØRGSEL"
MsgBox "Dataoverførslen er afsluttet."
Docmd.SetWarnings True
Avatar billede mugs Novice
09. december 2004 - 12:03 #38
Vedr. låsning. Prøv at sætte formularens egenskab "Postlåse" til "Redigeret post" i fanen Data.
Avatar billede areon Nybegynder
09. december 2004 - 12:08 #39
øhhhhh Jamen den må godt stille sig "whereEver" da det jo er en REN opdatering af informationerne i CallList'en... (Altså selv en LukForm OG ÅbenSammeForm er en løsning lige i dette tilfølge..)

Prøver lige det med låsen
Avatar billede areon Nybegynder
09. december 2004 - 12:10 #40
har fixet det med Luk og åben form igen... og det virker fint... :)
er der nogle probs i det udover det ikke er for "elegant"?
Avatar billede areon Nybegynder
09. december 2004 - 12:13 #41
hihi ja låsesystemet kan jeg jo af gode grunde ikke teste før jeg får det på flere brugere?? eller hva??
Avatar billede mugs Novice
09. december 2004 - 12:18 #42
Du kan nok ikke teste låsningen før der er flere brugere på. Jeg har ikke den store erfaring med låsningen.
I stedet for at lukke og åbne, kan du bare køre en Requery. Den vil køre den underliggende Forespørgsel / tabel:

Me.Requery
Docmd.OpenQuery "NAVNET PÅ DIN TILFØJELSESFORESPØRGSEL"
DoCmd.OpenForm "Kundeoversig"
Forms!Kundeoversig!ID.SetFocus
DoCmd.FindRecord Me!ID
Docmd.OpenQuery "NAVNET PÅ DIN SLETTEFORESPØRGSEL"
MsgBox "Dataoverførslen er afsluttet."
Docmd.SetWarnings True
Avatar billede areon Nybegynder
09. december 2004 - 15:00 #43
Med stor ære overfører jeg her 100Pointz til muGz for en Super100% udført Hjælp/Opgave... :)
Tusinde tak igen for at gøre det umulige muligt!!
Avatar billede mugs Novice
09. december 2004 - 16:05 #44
Tak for point :o)
Avatar billede areon Nybegynder
10. december 2004 - 08:21 #45
Hejsa MugZ idag har jeg lavet et nyt spm. så jeg kan få færdiggjort mit mailMerge.. please kom ind og gi en hånd. :)
http://www.eksperten.dk/spm/569673
Avatar billede mugs Novice
10. december 2004 - 08:23 #46
Jeg er der!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester