Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

Datenbankfeld nach dem längsten Teilstring durchsuchen

Frage Entwicklung Datenbanken

Mitglied: diwaffm

diwaffm (Level 2) - Jetzt verbinden

12.02.2010 um 08:31 Uhr, 4066 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
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 ...

Visual Studio
gelöst Vb.net: Word-Doc seitenweise durchsuchen nach Textmarke (7)

Frage von ahstax zum Thema Visual Studio ...

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

Frage von 126594 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Humor (lol)

Wohnt jemand in Belgien und kann nicht mehr ruhig ausschlafen?

(5)

Information von LordGurke zum Thema Humor (lol) ...

Sicherheits-Tools

Trendmicro OSCE und das Fall Creators Update Win10 RS3

(3)

Information von Henere zum Thema Sicherheits-Tools ...

Microsoft Office

Text in Zahlen umwandeln

Tipp von logische zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Windows Server
Gruppenrichtlinie greift nicht zu! (24)

Frage von Syosse zum Thema Windows Server ...

Hosting & Housing
Mailserver Software Empfehlungen (21)

Frage von sunics zum Thema Hosting & Housing ...

Voice over IP
DeutschlandLAN IP Voice Data M Premium, Erfahrung mit Faxgeräte? (16)

Frage von liquidbase zum Thema Voice over IP ...