Avatar billede jensen363 Forsker
18. januar 2012 - 13:37 Der er 8 kommentarer og
1 løsning

Sammensat feltinformation

Mit datasæt består af følgende

ID  Tabelkode1 Tabelkode2
100 101        05
100 101        10
100 102        99
200 101        22
200 110        10

Jeg har behov for at Tabelkode1 og Tabelkode2 sammensættes i een tekststreng pr. ID, samt en summering af antal kombinationer der er i tekststrengen, altså lidt i denne stil :

ID  Resultat
100 101-05;101-100;102-99;3
200 101-22;110-10;2

Sidste informating i resultatet skulle så være optællingen

How to do ????
Avatar billede hugopedersen Nybegynder
18. januar 2012 - 13:50 #1
VBA

SELECT ID GROUP BY ID = et recordset med alle ID 1 gang
loop dette og lav en select af records med ID
Loop disse records og læs værdier og sammensæt dem.
Avatar billede hugopedersen Nybegynder
18. januar 2012 - 14:14 #2
Public Sub UpdateRun()
' -----------------------------------------------------------------------------------
' Purpose    :
' Parameters :
' Created    : 18-01-2012
' Modified  :
' Remarks    :
' -----------------------------------------------------------------------------------
On Error GoTo Error_UpdateRun
  Const TableName As String = "Tabel1"
  Dim strSQL As String
  Dim strSQLUpdate As String
  Dim rst As New ADODB.Recordset
  Dim rstUpdate As New ADODB.Recordset
  Dim RecordID As Integer
  Dim StringValue As String
 
  strSQL = "SELECT ID, fldResult FROM " & TableName & " GROUP BY ID, fldResult"
  rst.Open strSQL, CurrentProject.Connection, adOpenUnspecified, adLockOptimistic
 
  While Not rst.EOF
 
    RecordID = Nz(rst!ID, 0)
    strSQLUpdate = "SELECT * FROM " & TableName & " WHERE ID = " & RecordID
    rstUpdate.Open strSQLUpdate, CurrentProject.Connection, adOpenStatic, adLockOptimistic
    StringValue = ""
    While Not rstUpdate.EOF
      StringValue = StringValue & CStr(rstUpdate!Tabelkode1) & "-" & CStr(rstUpdate!Tabelkode2) & "; "
      rstUpdate.MoveNext
    Wend
    StringValue = StringValue & CStr(rstUpdate.RecordCount)
    rstUpdate.Close
Debug.Print StringValue
    rst.MoveNext
  Wend
 
  rst.Close
  Set rst = Nothing
  Set rstUpdate = Nothing
 
Exit_UpdateRun:
  Exit Sub

Error_UpdateRun:
  Select Case Err.Number
    Case 3021
    Case 2501
    Case Is < 0
    Case Else
      MsgBox Err.Number & ": " & Err.Description, vbOKOnly + vbCritical, "Error in procedure 'UpdateRun'"
  End Select
  Resume Exit_UpdateRun

End Sub
Avatar billede hugopedersen Nybegynder
18. januar 2012 - 14:15 #3
fldResult skal lige fjernes - jeg fik ikke lavet så det opdateres i tabel.
Avatar billede jensen363 Forsker
18. januar 2012 - 17:50 #4
Hej Hugo

Ser først din løsning nu ....

Jeg skal have oprettet en ny tabel på baggrund af min sourcetabel ( tblConcept ) med følgende feltnavne

ID          ( txt )
TabelKode1  ( txt )
TabelKode2  ( txt )

Hvordan får jeg din kode til at virke ????
Avatar billede hugopedersen Nybegynder
18. januar 2012 - 21:42 #5
Har du nogen mulighed for at lave en lille db med de 2 tabeller som du ønsker de skal se ud og så lige maile den til mig
oz8hp  snabeltud  hotmail  punktum  com
Bare layout og en 8-10 records i sourcetabel
Evt. en testrecord i outputtabellen
Så kan jeg bedre danne mig en mening om hvad det er du har behov for.
Så skal jeg lige tage et kig på det i morgen en gang (men nok først hen på dagen)
Avatar billede jensen363 Forsker
19. januar 2012 - 09:11 #6
Eksempel sendt
Avatar billede hugopedersen Nybegynder
19. januar 2012 - 09:44 #7
Løsningsforslag sendt

I henhold til ekspertens regler:
Nogen der skulle ahve interesse i eksemplet sender mig bare en mail - der er ikke hemmelige data i spil så..........
Avatar billede jensen363 Forsker
20. januar 2012 - 09:11 #8
Virker perfekt :-)
Avatar billede hugopedersen Nybegynder
20. januar 2012 - 09:16 #9
Jamen så er der jo ikke et øje tørt i det lille hjem :-)


Tak for point.
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