Top-Themen

Aktuelle Themen (A bis Z)

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

Mitglied: mobuns

mobuns (Level 1) - Jetzt verbinden

04.11.2013 um 10:19 Uhr, 2806 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 ..
Ähnliche Inhalte
Datenbanken

Datensatz hinzufügen, nicht überschreiben Access

gelöst Frage von Dr.CornwallisDatenbanken19 Kommentare

Liebe Gemeinde, ich habe folgenden Code (bei Button klick): Wähle ich mit diesem Code einen anderen Wert im Kombifeld ...

Datenbanken

Datensatz mit 2 Felder anfügen Access

gelöst Frage von Dr.CornwallisDatenbanken2 Kommentare

Hallo, ich habe 2 Felder: 1. Kombifeld - PersNr zum auswählen 2. Textfeld - hier kann man beliebigen Text ...

Datenbanken

Access mit VBA vorgefertigte Texte an Datensatz anfügen

gelöst Frage von Dr.CornwallisDatenbanken4 Kommentare

Hallo zusammen, ich habe ein Access Formular, mit einem Kombifeld kann ich einen Benutzer auswählen, darunter ist ein Textfeld ...

Microsoft Office

Vorherigen Datensatz mit aktuellem Datensatz vergleichen

Frage von THEFRUSTMicrosoft Office1 Kommentar

Hallo, ich bin neu hier und hoffe auf Eure Hilfe zu einer Abfrage in ACCESS 2013. Zum oben genannten ...

Neue Wissensbeiträge
Backup

Veeam Agent für MS Windows - neue Version verfügbar (bedingt jedoch offenbar .NET Framework 4.6)

Information von VGem-e vor 9 StundenBackup

Moin Kollegen, einer unserer Server zeigte grad an, dass für o.g. Software ein Update verfügbar ist. Ob ein evtl. ...

Python

Sie meinen es ja nur gut - Microsoft hilft python-Entwicklern auf unnachahmliche Weise

Information von DerWoWusste vor 2 TagenPython2 Kommentare

Stellt Euch vor, Ihr nutzt python unter Windows 10 und skriptet damit regelmäßig Dinge. Nach dem Update auf Windows ...

Sicherheits-Tools

TrendMicro Worry-Free Business Security 10.0 SP1 steht in Englisch bereit mit Unterstützung für Windows 10 1903 (May Update)

Information von VGem-e vor 2 TagenSicherheits-Tools1 Kommentar

Moin Kollegen, Dann kommt wohl demnächst auch die deutschsprachige/europäische Version zur Auslieferung. Gruß VGem-e

Batch & Shell
PowerShell Konferenz - Videos online
Information von NetzwerkDude vor 2 TagenBatch & Shell

Abend, die Tage werden Videos der Talks von der diesjährigen EU Powershell Konferenz hochgeladen, sind einige Interessante dabei: MFG ...

Heiß diskutierte Inhalte
Google Android
Anbieter für Diensthandys
Frage von Pat.batGoogle Android21 Kommentare

Hallo zusammen, ich bin seit einiger Zeit zuständig für die Diensthandys bei uns in der Behörde. Eine Management Software ...

Microsoft Office
Office 365 eMail via Website verschicken
Frage von BiBeSoMicrosoft Office16 Kommentare

Hallo, kann man im Office 365 eMails anlegen welche zum versenden (smtp) für die Website funktionieren ? Muss man ...

Windows Server
Verbindunsproblem zwischen Klient und Wsus-Server
Frage von flashgordon78Windows Server16 Kommentare

Liebe Forum Besucher! Ich habe ein Wsus_Server (Win Server 2016) erstellt und die Update sind herunterladen worden. Aber ich ...

Exchange Server
Vorgehen um von Tobit auf Exchange zu wechseln
Frage von Martin1987Exchange Server15 Kommentare

Guten Abend Ich habe den Auftrag erhalten, unser Mail von David zu Outlook zu wechseln. Wie muss ich da ...