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, 4032 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
Visual Studio
gelöst Vb.net: Word-Doc seitenweise durchsuchen nach Textmarke (7)

Frage von ahstax zum Thema Visual Studio ...

Microsoft Office
Unterordner durchsuchen Excel VBA (1)

Frage von schwalbepilot zum Thema Microsoft Office ...

Batch & Shell
Batch-Variable nach Stichworten aus TXT Datei durchsuchen (3)

Frage von 126594 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(6)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(5)

Anleitung von BassFishFox zum Thema Windows 10 ...

Administrator.de Feedback

Tipp: Ungelöste Fragen ohne Antwort in Tickeransicht farblich hinterlegen

Tipp von pattern zum Thema Administrator.de Feedback ...

Heiß diskutierte Inhalte
Windows Server
gelöst Update BackupExec 2015 auf 2016 führt zu SQL-Server Problem (16)

Frage von montylein1981 zum Thema Windows Server ...

Batch & Shell
gelöst Batch um Benutzer aus Sitzung abzumelden (15)

Frage von zeroblue2005 zum Thema Batch & Shell ...

LAN, WAN, Wireless
IP Sec Client legt Netzwerkkarte lahm (12)

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