Avatar billede Morten Nybegynder
17. september 2003 - 08:38 Der er 11 kommentarer og
1 løsning

Skriv i tabel

Hej...

Jeg skal lige have noget på plads.
Trods det at jeg har lavet adskillige databaser er jeg aldrig rendt ind i at skulle skrive til en tabel som ikke var knyttet til min formular - men det skal jeg nu og kan ikke helt greje hvordan. Jeg ved det er noget med at jeg skal åbne - nå men her kommer fakta:

Jeg har en database (contactnotes) - en tabel (doc_salesman).
Jeg skal fra min form finde den post hvor
form!notes!salesman=tabel!doc_salesman!salesman
OG
form!notes!note_nbr=tabel!doc_salesman!note_nbr

i den post skal jeg så skrive i feltet
tabel!doc_salesman!date_from

Hvordan gør jeg dette (se bort fra syntakserne i ovenstående det er kun for forståelsens skyld)

Det skal være noget VBA-kode - jeg har fundet lidt her på eksperten - men det har være hvor man ønskede at tælle poster i en tabel... så please hjælp mig...
Avatar billede terry Ekspert
17. september 2003 - 08:51 #1
Hej...

Jeg skal lige have noget på plads.
Trods det at jeg har lavet adskillige databaser er jeg aldrig rendt ind i at skulle skrive til en tabel som ikke var knyttet til min formular - men det skal jeg nu og kan ikke helt greje hvordan. Jeg ved det er noget med at jeg skal åbne - nå men her kommer fakta:

Jeg har en database (contactnotes) - en tabel (doc_salesman).
Jeg skal fra min form finde den post hvor
form!notes!salesman=tabel!doc_salesman!salesman
OG
form!notes!note_nbr=tabel!doc_salesman!note_nbr

i den post skal jeg så skrive i feltet
tabel!doc_salesman!date_from

Hvordan gør jeg dette (se bort fra syntakserne i ovenstående det er kun for forståelsens skyld)

Det skal være noget VBA-kode - jeg har fundet lidt her på eksperten - men det har være hvor man ønskede at tælle poster i en tabel... så please hjælp mig...

Do you mean you have two fields on the form one named form!notes!salesman and another named form!notes!note_nb. These two fields are to be used to find th erecord which needs updating. Is that correct?

If it is correctthen there is no need to find the record but just UPDATE it. All we need is a field containing that value to update to.

Here is the VBA to update the field "SomeValue" which obviously needs altering to the correfct value.
DOcms.runsql "UPDATE doc_salesman SET doc_salesman.date_from = SomeValue WHERE doc_salesman.salesman = " & form!notes!salesman & " AND doc_salesman.note_nbr = " & form!notes!note_nbr

NOTE: Text field need to be in ''
Avatar billede kabbak Professor
17. september 2003 - 08:51 #2
her er en fra acess97

Dim dbs As Database, rst As Recordset
  ' Returner den Database-variabel, der peger på den aktuelle database.
    Set dbs = CurrentDb
    Set rst = dbs.OpenRecordset("Tidsreg")
    With rst
        ' Tilføj ny post til slutningen af Recordset-objekt.
        .AddNew
        .[ProjektNr] = Projekt    ' Tilføj data.
        .[Dato] = DatoNy
        .[ArbejdeNr] = ArbejdeNrNy
        .[Timer] = TimerNy
        .[JobNr] = JobNy
        .Update                    ' Gem ændringer.

    End With
    dbs.Close
Avatar billede terry Ekspert
17. september 2003 - 08:52 #3
I see I have copied YOUR text :o)
Avatar billede Morten Nybegynder
17. september 2003 - 08:59 #4
Terry - det du beskriver er lige det jeg skal bruge.. sååå...

Men kan jeg ikke få den hvor man finder recorden - mere for at jeg kan få det på plads... så jeg kan det - det var noget alá Kabbak´s kode - blot vil jeg ikke tilføje en recorde men ændre i en eksisterende...

Kabbak - Den du viser tilføjer en post - men jeg vil skrive i en eksisterende
Avatar billede Morten Nybegynder
17. september 2003 - 09:27 #5
>> Terry

Men det du skrev virker perfekt (selvfølelig)...

Tror du at du kan lave den anden til mig - så har jeg lært meget i dag ;O)
Avatar billede Morten Nybegynder
17. september 2003 - 09:36 #6
og så lige et lillebitte tillægs-spørgsmål -

Terry hvis jeg bruger dit forslag - men skal opdatere 3 felter i tabellen - kan det så gøres "smart" i en streng eller skal jeg lave den 1 gang for hvert felt jeg skal opdatere i posten ?
Avatar billede Morten Nybegynder
17. september 2003 - 09:38 #7
Nå ja og så for god ordens skyld (hvis andre skulle bruge Terry´s kode)

Du skriver DOcms.runsql - det skal være DOCMD.runsql
Avatar billede terry Ekspert
17. september 2003 - 09:39 #8
Why do you need to find the record? If you found it on the form then you dont need to update it in code???

You should be able to use something like this

Me.RecordsetClone.Findfirst "doc_salesman.salesman = " & form!notes!salesman & " AND doc_salesman.note_nbr = " & form!notes!note_nbr

Me.Bookmark = Me.RecordSetClone.Bookmark
Avatar billede terry Ekspert
17. september 2003 - 09:41 #9
You can use

SET field1 = SomeValue, field2 = SomeOthervalue
Avatar billede terry Ekspert
17. september 2003 - 09:43 #10
soory about that :o)
DOcms.runsql = DoCmd.runsql
Avatar billede Morten Nybegynder
17. september 2003 - 09:51 #11
Nej du har måske ret når nu jeg lige tænker over det...

Tusind tak for hjælpen..
Avatar billede terry Ekspert
17. september 2003 - 10:10 #12
selvtak :o)
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