Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Access Datensätze zusammenfassen

Frage Entwicklung VB for Applications

Mitglied: mobuns

mobuns (Level 1) - Jetzt verbinden

04.11.2013 um 10:19 Uhr, 2202 Aufrufe, 4 Kommentare

Hallo zusammen,

ich habe ein Problemchen, ich habe eine Tabelle mit Datensätzen.

Einige Datensätze haben in einem Feld den gleichen Wert stehen.

Jetzt sollen alle Datensätze die einen gleichen Wert haben zu einem zusammengefügt werden.(Ein bestimmtes Feld aus dem Datensatz)

Mitglied: colinardo
04.11.2013 um 10:32 Uhr
Hallo JokerM,
da wäre der Duplicate Query Wizard von Access das Mittel der Wahl:http://www.howtogeek.com/howto/microsoft-office/create-a-query-in-micro ...

Grüße Uwe
Bitte warten ..
Mitglied: SlainteMhath
04.11.2013 um 10:35 Uhr
Moin,

also genau versteh ich dein Anliegen nicht, aber evtl. kannst du das nochmal anhand eines Beispiels erklären?

meinst Du evtl. sowas:
01.
INSERT INTO neue_tabelle  
02.
SELECT * FROM alte_tabelle GROUP BY feldname
lg,
Slainte
Bitte warten ..
Mitglied: mobuns
04.11.2013, aktualisiert um 15:01 Uhr
Ok dann versuche ich das nochmal an einem Beispiel zu erläutern.

es gibt eine Tabelle, in dieser Tabelle gibt es 2 Felder Zahl und Text.

In dem Feld Zahl kann die selbe Zahl öfter vorkommen.

Jetzt sollen alle Textfelder von Datensätzen die den gleichen Wert im Feld Zahl haben zu einem zusammengefügt werden.

Also

Zahl Text Text1 Text2

ich hoffe das hilft weiter

Gruß
Bitte warten ..
Mitglied: colinardo
04.11.2013 um 18:56 Uhr
Probiers mal hiermit:
(in Zeile 2 den Spaltennahmen der Zahl-Spalte, in Zeile 3 den für die Textspalte, und in Zeile 4 den Namen der Tabelle angeben)
01.
Sub mergeDuplicates() 
02.
    Const COLZAHL = "intZahl" 
03.
    Const COLTEXT = "strText" 
04.
    Const TBLTABELLE = "Testtabelle" 
05.
    Dim rs As Recordset, rs2 As Recordset 
06.
    dupeSQL = "SELECT DISTINCT " & COLZAHL & " from " & TBLTABELLE 
07.
    Set rs = CurrentDb.OpenRecordset(dupeSQL) 
08.
     
09.
    While Not rs.EOF 
10.
        concatText = ConcatRelated(COLTEXT, TBLTABELLE, COLZAHL & " = " & rs(0).Value) 
11.
        Set rs2 = CurrentDb.OpenRecordset("Select " & COLZAHL & "," & COLTEXT & " FROM " & TBLTABELLE & " WHERE " & COLZAHL & " = " & rs(0).Value) 
12.
        rs2.MoveFirst 
13.
        rs2.Edit 
14.
        rs2(COLTEXT).Value = concatText 
15.
        rs2.Update 
16.
        rs2.MoveNext 
17.
        While Not rs2.EOF 
18.
            rs2.Delete 
19.
            rs2.MoveNext 
20.
        Wend 
21.
        rs2.Close 
22.
        rs.MoveNext 
23.
    Wend 
24.
    rs.Close 
25.
End Sub 
26.
 
27.
' Function from http://allenbrowne.com/func-concat.html 
28.
Function ConcatRelated(strField As String, _ 
29.
    strTable As String, _ 
30.
    Optional strWhere As String, _ 
31.
    Optional strOrderBy As String, _ 
32.
    Optional strSeparator = ", ") As Variant 
33.
On Error GoTo Err_Handler 
34.
    'Purpose:   Generate a concatenated string of related records. 
35.
    'Return:    String variant, or Null if no matches. 
36.
    'Arguments: strField = name of field to get results from and concatenate. 
37.
    '           strTable = name of a table or query. 
38.
    '           strWhere = WHERE clause to choose the right values. 
39.
    '           strOrderBy = ORDER BY clause, for sorting the values. 
40.
    '           strSeparator = characters to use between the concatenated values. 
41.
    'Notes:     1. Use square brackets around field/table names with spaces or odd characters. 
42.
    '           2. strField can be a Multi-valued field (A2007 and later), but strOrderBy cannot. 
43.
    '           3. Nulls are omitted, zero-length strings (ZLSs) are returned as ZLSs. 
44.
    '           4. Returning more than 255 characters to a recordset triggers this Access bug: 
45.
    '               http://allenbrowne.com/bug-16.html 
46.
    Dim rs As DAO.Recordset         'Related records 
47.
    Dim rsMV As DAO.Recordset       'Multi-valued field recordset 
48.
    Dim strSql As String            'SQL statement 
49.
    Dim strOut As String            'Output string to concatenate to. 
50.
    Dim lngLen As Long              'Length of string. 
51.
    Dim bIsMultiValue As Boolean    'Flag if strField is a multi-valued field. 
52.
     
53.
    'Initialize to Null 
54.
    ConcatRelated = Null 
55.
     
56.
    'Build SQL string, and get the records. 
57.
    strSql = "SELECT " & strField & " FROM " & strTable 
58.
    If strWhere <> vbNullString Then 
59.
        strSql = strSql & " WHERE " & strWhere 
60.
    End If 
61.
    If strOrderBy <> vbNullString Then 
62.
        strSql = strSql & " ORDER BY " & strOrderBy 
63.
    End If 
64.
    Set rs = DBEngine(0)(0).OpenRecordset(strSql, dbOpenDynaset) 
65.
    'Determine if the requested field is multi-valued (Type is above 100.) 
66.
    bIsMultiValue = (rs(0).Type > 100) 
67.
     
68.
    'Loop through the matching records 
69.
    Do While Not rs.EOF 
70.
        If bIsMultiValue Then 
71.
            'For multi-valued field, loop through the values 
72.
            Set rsMV = rs(0).Value 
73.
            Do While Not rsMV.EOF 
74.
                If Not IsNull(rsMV(0)) Then 
75.
                    strOut = strOut & rsMV(0) & strSeparator 
76.
                End If 
77.
                rsMV.MoveNext 
78.
            Loop 
79.
            Set rsMV = Nothing 
80.
        ElseIf Not IsNull(rs(0)) Then 
81.
            strOut = strOut & rs(0) & strSeparator 
82.
        End If 
83.
        rs.MoveNext 
84.
    Loop 
85.
    rs.Close 
86.
     
87.
    'Return the string without the trailing separator. 
88.
    lngLen = Len(strOut) - Len(strSeparator) 
89.
    If lngLen > 0 Then 
90.
        ConcatRelated = Left(strOut, lngLen) 
91.
    End If 
92.
 
93.
Exit_Handler: 
94.
    'Clean up 
95.
    Set rsMV = Nothing 
96.
    Set rs = Nothing 
97.
    Exit Function 
98.
 
99.
Err_Handler: 
100.
    MsgBox "Error " & Err.Number & ": " & Err.Description, vbExclamation, "ConcatRelated()" 
101.
    Resume Exit_Handler 
102.
End Function
Grüße Uwe
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
LAN, WAN, Wireless
Access Point: Ubiquiti UAP AC PRO Einschätzung Reichweite (4)

Frage von TimMayer zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
Freifunk über vorhandene Access Points ausstrahlen (2)

Frage von Uwoerl zum Thema LAN, WAN, Wireless ...

Windows Netzwerk
Direct Access mit VPN aufbau (6)

Frage von geocast zum Thema Windows Netzwerk ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (17)

Frage von JayyyH zum Thema Switche und Hubs ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

DSL, VDSL
DSL-Signal bewerten (14)

Frage von SarekHL zum Thema DSL, VDSL ...