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, 4007 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 ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Batch & Shell
CSV nach CSV durchsuchen und speichern (6)

Frage von jocheng zum Thema Batch & Shell ...

VB for Applications
Mehrere Spalten Durchsuchen und Ergebnisse in neuer Tabelle Ausgeben (3)

Frage von Mr.Green zum Thema VB for Applications ...

Entwicklung
gelöst Powershell File durchsuchen (1)

Frage von easy4breezy zum Thema Entwicklung ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (17)

Frage von JayyyH zum Thema Switche und Hubs ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

DSL, VDSL
DSL-Signal bewerten (14)

Frage von SarekHL zum Thema DSL, VDSL ...