14. november 2002 - 12:06Der er
21 kommentarer og 1 løsning
Tilføje post til mdb, problem med senere indlæsning i combobox
Problemstilling: Efter end .update kan mdb - tabel ikke indlæses til combobox startende med ID=0 (1st post i tabel). Ved forsøg på indlæsning startes med sidste oprettede post?
Refence: ms dao 3.6 obj lib.
Problemløsning: Eksport af mdb - tabel til xls og derefter import til mdb? Denne løsning er jo noget gusten!!!!
Hej tubber Nedenstående kode medfører fejl da, "indeks" <> 0 når i = 1
Set tabel = db.TableDefs("_ObjOprindelse") Set dbRS = tabel.OpenRecordset For i = 1 To dbRS.RecordCount frmMain.cboObjOpr.AddItem dbRS.Fields("Oprindelse"), dbRS.Fields("indeks") dbRS.MoveNext Next i
Hvorfor og hvad kan jeg gøre for at få den til at starte ved post 1 i tabellen (ID = 0)?
Synes godt om
Slettet bruger
14. november 2002 - 12:58#3
Kan du ikke bare bruge Do/Loop i stedet? Ellers har jeg nok ikke forstået problemstillingen. :)
If Not dbRS.EOF Then Do While Not dbRS.EOF frmMain.cboObjOpr.AddItem dbRS.Fields("Oprindelse"), dbRS.Fields("indeks") dbRS.MoveNext Loop End If
Hej magik Loop'en er ok men løser ikke problemmet! Index til combo skal jo starte med 0! dbRS.Fields("indeks") <> 0 da der ikke states ved første post?
Jeg fatter ikke helt problemet... Men hvis du putter en tæller ind i løkken, og så bruger den til et eller andet, kan det ikke løse problemet (som jeg somsagt ikke helt har forstået?)
i = 37 'Eller en anden startværdi If Not dbRS.EOF Then Do While Not dbRS.EOF frmMain.cboObjOpr.AddItem dbRS.Fields("Oprindelse"), dbRS.Fields("indeks") 'I ovenstående bruges i til et eller andet dbRS.MoveNext i = i + 1 Loop End If
Hej m&m og tubber m&m: AddItem har to param hvoraf param 2 - index er valgtfrit. Jeg skal bruge index'et og combobox.AddItem kræver at index'et er kontinuert stigende startende med 0 (nul).
Fatter stadig ikke spørgsmålet - jeg er nok dum :o(
Det er jo ikke noget problem at have 2 index til at løbe i en løkke - jeg forstår bare stadig ikke hvilke variabler der skal være hvad hvornår... Jeg tror det er supersimpelt, men som sagt - se øverste linie
Ok m&m. Når der skal tilføjes et indexeret element til en liste SKAL der startes med index(0). Man kan ikke starte med index(37). Efterfølgende index SKAL være index(1) etc. Eks. frmMain.cboObjOpr.AddItem dbRS.Fields("Oprindelse"), dbRS.Fields("indeks") <=> frmMain.cboObjOpr.AddItem "Oprindelse 1", 0 frmMain.cboObjOpr.AddItem "Oprindelse 2", 1 etc.
Tabellen "_ObjOprindelse" er underliggende tabel til en hovedtabel derfor kan index'et ikke være tilfældigt!
Hej tubber Godt set... dbRS.Fields("indeks") er det index jeg henter fra databasen!!!! Problemmet er at AddItem kræver at jeg angiver 0,1,2,...,n+1 i numerisk rækkefølge. Ved indlæsning forekommer det så at første post der forsøges indlæst ikke er den første post i tabellen (se tidligere kommentarer)???????
Tror jeg har fået lavet sådan den løber din db igennem og finder den post der skal ind i det næste index, og så løber den igennem den igen og igen til den har fundet en for hver post.....
RecordCount = dbRS.RecordCount - 1 For i = 0 To RecordCount If Not rs.EOF Then rs.MoveFirst Do While Not rs.EOF If i = dbRS.Fields("indeks") Then combo1.AddItem dbRS.Fields("Oprindelse") i = i + 1 Exit Do Else: rs.MoveNext End If Loop End If Next i
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.