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

Frage Entwicklung VB for Applications

GELÖST

Access Datensätze zusammenfassen

Mitglied: mobuns

mobuns (Level 1) - Jetzt verbinden

04.11.2013 um 10:19 Uhr, 2439 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 Datenbank wie am einfachsten Datensätze aufbereiten
Frage von Dr.CornwallisDatenbanken5 Kommentare

Liebe Gemeinde, ich brauche eure Hilfe, wie würdet ihr in Access 2010 eine Datenbank aufbauen bzw. die ug. Anforderungen ...

VB for Applications
Access Datensätze einzeln kopieren einfügen
gelöst Frage von QwertzuiopueVB for Applications3 Kommentare

Hallo Hallo, also ich habe eine Datenbank A mit Pfad PfadA und eine Datenbank B mit PfadB. Ich möchte ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 6 StundenLinux1 Kommentar

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 1 TagTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 1 TagSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 1 TagSicherheit9 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
Sicherheit
Meltdown und Spectre: Die machen uns alle was vor
Information von FrankSicherheit23 Kommentare

Aktuell sieht es in den Medien so aus, als hätten die Hersteller wie Intel, Microsoft und Co den aktuellen ...

Netzwerkgrundlagen
Welches Modem für VDSL 50000 der T-Com
gelöst Frage von Windows10GegnerNetzwerkgrundlagen22 Kommentare

Hallo, ein Kollege von mir will sich VDSL50000 von der T-Com holen, um daran einen Server zu betreiben. Ich ...

Netzwerke
Packet loss bei "InternetLeitungsvollauslastung"
gelöst Frage von Freak-On-SiliconNetzwerke17 Kommentare

Servus; Ja der Titel klingt komisch, is aber so. Wenn die Internetleitung voll ausgelastet ist, hab ich extreme packet ...

Ubuntu
Ubuntu - Starter für nicht vertrauenswürdige Anwendungen
Frage von adm2015Ubuntu17 Kommentare

Hallo zusammen, Ich verwende derzeit die Ubuntu Versionen 17.10 bzw. im Test 18.04. Ich habe mehrere .desktop Dateien in ...