14. oktober 2001 - 21:03Der er
7 kommentarer og 1 løsning
Brug af samme tabel flere steder på samme side!
Jeg skal lave et program i Visual C++, hvor vi har en side der skal vise indholdet af en tabel. Tabellen er styret af ID numre, hvor hvert numemr har nogle data. Dette er ikke svært og er gjort, men vi skal på denne side også vise indholdet af foregående nummer i tabellen og det efterfølgende nummer på det så står der i øjeblikket. Programmet er opdelt i 3 horisontale felter, hvor vi i øjeblikket viser tabellen man arbejder på i midten. Men man skal også se indholdet af foregående nummer i tabellen til ventre på siden og efterfølgende nummer til højre på siden og de skal vises automatisk.
Således at jeg arbejder på et nummer 5 i tabellen, den står så i midten. Så skal jeg kunne se indholdet af nummer 4 i venstre side og indholdet af nummer 6 i højreside.
Hvis jeg så vælger at arbejde på nummer 6, skal jeg se nr 5 til venstre og nummer 7 i højre.
Hver af numrene i denne tabel man arbejder på, har fremmedenøgler til andre tabeller.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
You make a query in Access and then use the query for your form instead of the table. In the query you can use the same table three times with an outer join to make sure that you always get some data. I assume that you know enough about SQL to be able to do this.
Min erfaring (fra Jens-Peter i et tidligere spørgsmål jeg selv stillede) viser at det bedst kan betale sig at lave en temporær tabel, hvor man gemmer forrige, nuværende og næste værdi.
Jeg har lavet en lille procedure, som udfylder denne temp-tabel. Soli, du skal derfor først lave en ny tabel, hvor du har 3 felter: Forrige, ID og Næste.
Derefter skal du køre denne procedure inden du skal have udtrækket:
Sub DanTempTabel() On Error Resume Next Dim DB As Database Dim Rs As DAO.Recordset Dim rsTemp As DAO.Recordset
Set DB = CurrentDb Set Rs = DB.OpenRecordset(\"DinTabel\", dbOpenSnapshot) Set rsTemp = DB.OpenRecordset(\"TempTabel\", dbOpenDynaset)
DB.Execute \"Delete From TempTabel\" Do While Not Rs.EOF rsTemp.AddNew rsTemp!Bognr = Rs!Bognr Rs.MovePrevious If Rs.BOF Then rsTemp!Forrige = Null Err.Clear Else rsTemp!Forrige = Rs!Bognr End If Rs.Move 2 If Err Then rsTemp!Næste = Null Err.Clear Else rsTemp!Næste = Rs!Bognr End If rsTemp.Update Loop Rs.Close Set Rs = Nothing rsTemp.Close Set rsTemp = Nothing End Sub
Derved oprettes en tabel med de 3 ønskede værdier. Herefter kan du så lave en forespørgsel som joiner de 3 felter med eventuelle øvrige felter fra DinTabel.
soli> make the query as I suggested. If you send me you database I will make it for you. Its then up to you to implement this into your application. dkTeBrSa@Europe.lego.com
Hi soli> Got your mail, hope it works as you want it to. The only thing I can imagine not working correctly is if you need to update, but then I have NO idea as to how you do that in your C++ program. Anyway, lets see how it goes.
Good weekend, and thanks for the points :o)
terry
Synes godt om
Ny brugerNybegynder
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.