02. november 2010 - 08:34Der er
11 kommentarer og 1 løsning
Kategoriinddeling af tabel (Access)
Hej,
Jeg har en lang liste, der gerne skal inddeles i kategorier. Den lange liste er sorteret efter et datofelt og inddelingen skal være således, at de første 100 linier fra toppen og ned, skalvære i samme kategori. Efter de 100 og ned til 200 skal det være en anden kategori, og således så der er i alt tre kategorier. Kategorierne skal være et felt i en rækken, der fx skriver hhv. Kat.1, Kat.2 og Kat3.
Som jeg ser det, så vil det nemmeste være at skrive en stump VBA der looper din tabel og skriver Kat 1 i de først 100 records, Kat 2 i de næste 100 og Kat 3 i resten.
Jeg kan godt lige give det et forsøg lige om 1/2 time hvis det er
Følgende tager udgangspunkt i at der sorteres efter fldTimestamp og record nummer 1 til 100 bliver Kat. 1, 101 til 200 bliver Kat. 2 og alle øvrige bliver Kat. 3 Du skal selvfølgelig tilpasse feltnavne. Huske reference til Microsoft ActiveX Data Object
Public Function fhpCategorize() As Integer On Error GoTo Error_fhpCategorize Dim rst As New ADODB.Recordset Dim intRecord As Integer
strSQL = "SELECT * FROM tblTest ORDER BY fldTimestamp" rst.Open strSQL, CurrentProject.Connection, adOpenStatic, adLockOptimistic
intRecord = 0 While Not rst.EOF intRecord = intRecord + 1 Select Case intRecord Case 1 To 100 rst!fldKategori = "Kat. 1" Case 101 To 200 rst!fldKategori = "Kat. 2" Case Else rst!fldKategori = "Kat. 3" End Select rst.Update rst.MoveNext Wend
rst.Close Set rst = Nothing
Exit_fhpCategorize: Exit Function
Error_fhpCategorize: fhpCategorize = -32768 Select Case Err.Number Case 3021 Case 2501 Case Is < 0 Case Else MsgBox Err.Number & ": " & Err.Description, vbOKOnly + vbCritical, "Error in procedure 'fhpCategorize'" End Select Resume Exit_fhpCategorize
Du har min hotmailadresse nu, hvis der skulle opstå andre spørgsmål i forbindelse hermed.
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.