Avatar billede omp Novice
08. oktober 2006 - 13:18 Der er 7 kommentarer og
1 løsning

Indsæt et Recordset i en anden tabel

Er kørt lidt fast i nedenstående.
Formularen indeholder en Ja og en Nej knap.
Vælges Ja skal Recordsættet indsættes i (tilføjes i en anden tabel) hvis nej forlades formularen.
Jeg kan godt åbne recordsættet, men mangler at få det over i en anden tabel, Tbl_Index.

Dim rs As DAO.Recordset
Dim db As Database
Dim W As Workspace
------------------------
Private Sub Form_Load()
    Set db = CurrentDb
    Set W = DBEngine(0)
    W.BeginTrans
    Set rs = db.OpenRecordset(Me.RecordSource, dbOpenDynaset)
    Set Me.Recordset = rs
    Set rs = Nothing
End Sub

Er der en som har en stup kode liggende for dette.
/Onslov
Avatar billede mugs Novice
08. oktober 2006 - 16:31 #1
Tabel er den tabel hvori du vil indsætte data. Tabel2 indeholder data der skal overføres til Tabel1:

DoCmd.RunSQL "INSERT INTO Tabel1 ( felt1, felt2, dato, email, id ) SELECT Tabel2.felt1, Tabel2.felt2, Tabel2.dato, Tabel2.email, Tabel2.id FROM Tabel2"
Avatar billede omp Novice
08. oktober 2006 - 16:39 #2
Hej Mugs!
Sorry - virker ikke!
Det pågældende Recordset bliver vist i en formular, i denne formular er det muligt at ændre og tilføje poster. Så det er det aktuelle recordset som jeg skal have overført og ikke posterne fra tabellen.
Med andre ord, når formularen er åben så kan jeg foretage ændringer og når lukker den foretager jeg en RoolBack, så posterne antager deres oprindelige form.
Håber jeg har forklaret mig korrekt.

/Onslov
Avatar billede mugs Novice
08. oktober 2006 - 17:04 #3
Private Sub Kommandoknap2_Click()
Dim Rst As Recordset, Db As Database
Set Rst = DBEngine.Workspaces(0).Databases(0).OpenRecordset("Tabel3")
With Rst
.AddNew
.Fields![Felt2] = felt1
'fields o.s.v med øvrige felter
.Update
End With

End Sub
Avatar billede terry Ekspert
08. oktober 2006 - 17:05 #4
Why do you want to rollback your changes, what is the point in allowing changes when you undo them when the form gets closed?

Why not take another approach. Copy all records from the table which you currently use as the recordsource into a TEMP table before you open the form, or as early as possible when you open the form. Then use the TEMP table as you recordsource.
Avatar billede omp Novice
08. oktober 2006 - 17:29 #5
-> Terry
Jeg starter med at indlæse et standard index (indholdsfortegnelse som er oprettet i en tabel - den samme hvergang), når posterne vises i formularen tillader jeg at brugeren kan ændre index nr 5 som normalt er Referater til Notater. Næste gang jeg indlæser standard indeks så er index nr 5 igen Referater - derfor bruger jeg en Roolback.
Det er diss date som er ændret som jeg ønsker at få overført til en anden tabel.
-> Mugs
Jeg kan godt se hvad du vil men.
Normalt er der 10 poster i tabellen (Indholdsfortegnelsen), men der kan i "temp" tabellen godt tilføjes yderlige poster.

Jeg har siddet og rodet noget med EOF, så den løber det pågældende recordset igenem og indsætter posterne i en eksisterende tabel, men har måttet give op, så derfor har jeg brug for eksperternes hjælp.
Håber det var med til at afklare problemet.
Kan evt sende en version af DB.

/Onslov
Avatar billede terry Ekspert
08. oktober 2006 - 17:36 #6
Any chance of seeing the dB? I may be able to find a solution but dont want to start from scratch.

eksperten@NOSPAMsanthell.dk
remove NOSPAM
Avatar billede omp Novice
08. oktober 2006 - 17:52 #7
DB sendt til Terry
Avatar billede terry Ekspert
08. oktober 2006 - 17:57 #8
Received
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