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

Datenbankfeld nach dem längsten Teilstring durchsuchen

Frage Entwicklung Datenbanken

Mitglied: diwaffm

diwaffm (Level 2) - Jetzt verbinden

12.02.2010 um 08:31 Uhr, 4057 Aufrufe, 4 Kommentare

Ich habe hier eine Access-Tabelle mit Vereinsbezeichnungen

01.
"MTG Mannheim" 
02.
"Polizei SV Eutin" 
03.
"Halstenbeker TV" 
04.
 etc
Diese würde ich gerne per SQL-Abfrage durchsuchen, so dass die Anfangsposition des längsten Teilstrings in eine zweite Spalte geschrieben wird.

ICh habe nun schon versucht, die Anzahl der Leerzeichen zu bestimmen und darauf fußend die einzelnen Teilstrings zu bestimmen - allerdings schaffe ich das nicht für variable Anzahlen von Teilstrings...

Any hints?

Danke

Dirk
Mitglied: bastla
12.02.2010 um 09:09 Uhr
Hallo diwaffm!

In SQL bin ich leider nicht so fit - aber da Du ja Access verwendest, ein Vorschlag als VBA-Function:
01.
Function GetMaxSubStringLen(TheString As String) As Integer 
02.
Dim SubString As Variant, MaxLen As Integer, LenSub As Integer 
03.
For Each SubString In Split(TheString) 
04.
    LenSub = Len(SubString) 
05.
    If LenSub > MaxLen Then MaxLen = LenSub 
06.
Next 
07.
GetMaxSubStringLen = MaxLen 
08.
End Function
Wenn Du diesen Code in ein Modul setzt, sollte danach die Aktualisierung des Feldes "LMax" in der Tabelle "Vereine" etwa so gehen:
UPDATE Vereine SET Vereine.LMax = GetMaxSubStringLen([Vereinsname]);
Grüße
bastla
Bitte warten ..
Mitglied: diwaffm
12.02.2010 um 09:23 Uhr
Ok - damit habe ich die Länge des längsten Teilstrings.
Muss mal ein wenig spielen, dass ich dann auch die Angangsposition dieses Teilstrings bekomme...

ciao

dirk
Bitte warten ..
Mitglied: bastla
12.02.2010 um 09:32 Uhr
Hallo diwaffm!

Sorry - zu oberflächlich gelesen ...

Mit dieser Function sollte es dann klappen:
01.
Function GetPosMaxSubString(TheString As String) As Integer 
02.
Dim SubString As Variant, MaxSubString As String, MaxLen As Integer, LenSub As Integer 
03.
For Each SubString In Split(TheString) 
04.
    LenSub = Len(SubString) 
05.
    If LenSub > MaxLen Then 
06.
        MaxLen = LenSub 
07.
        MaxSubString = SubString 
08.
    End If 
09.
Next 
10.
GetPosMaxSubString = InStr(TheString, MaxSubString) 
11.
End Function
Grüße
bastla
Bitte warten ..
Mitglied: diwaffm
12.02.2010 um 09:35 Uhr
Genau - da bin ich eben auch gelandet...

Ciao und Danke

dirk
Bitte warten ..
Ähnliche Inhalte
VB for Applications
gelöst VBA auch "Teilstrings" finden (1)

Frage von 94451 zum Thema VB for Applications ...

Microsoft Office
Unterordner durchsuchen Excel VBA (1)

Frage von schwalbepilot zum Thema Microsoft Office ...

Windows 10
Verzeichnis nach Dateiinhalt durchsuchen (5)

Frage von MPFG zum Thema Windows 10 ...

Batch & Shell
XML nach Liste mit Werten durchsuchen (12)

Frage von bocker zum Thema Batch & Shell ...

Neue Wissensbeiträge
Linux Netzwerk

Ping und das einstellbare Bytepattern

(1)

Erfahrungsbericht von LordGurke zum Thema Linux Netzwerk ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(3)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
SAN, NAS, DAS
MSA 2050 RAID Konfig (27)

Frage von Leo-le zum Thema SAN, NAS, DAS ...

Microsoft Office
Office Druck fehler (14)

Frage von DaistwasimBusch zum Thema Microsoft Office ...

Festplatten, SSD, Raid
Uninitialisierte Festplatte - Daten retten (11)

Frage von peterla zum Thema Festplatten, SSD, Raid ...

Netzwerkmanagement
Windows Server 2008 R2: "netsh reset" nicht verfügbar? (11)

Frage von RickTucker zum Thema Netzwerkmanagement ...