26. april 2007 - 11:33
Der er
6 kommentarer og
1 løsning
Seperation af data fra tekststreng.
Jeg har følgende 7 typer tekst i et felt i tabel A:
Jeg skal bruge feature set og version fra de 2 første typer tekst. Teksten er markeret med $ ($ optræder ikke i den originale tekst)
Disse skal indsættes i 'feature set' og 'version' felterne i tabel B.
I tekst 3, 4, 5, 6 og 7 skal jeg bruger version, som skal overføres til 'version' feltet i tabel B.
1; Cisco IOS Software, C3550 Software ($C3550-IPBASE-M$), Version $12.2(25)SEE2$, RELEASE SOFTWARE (fc1) Copyright (c) 1986-2006 by Cisco Systems, Inc. Compiled Fri 28-Jul-06 06:17 by yenanh
2; Cisco Internetwork Operating System Software IOS (tm) C2950 Software ($C2950-I6Q4L2-M$), Version $12.1(22)EA9$, RELEASE SOFTWARE (fc1) Copyright (c) 1986-2006 by cisco Systems, Inc. Compiled Fri 01-Dec-06 18:02 by weiliu
3; Cisco Systems WS-C6509 Cisco Catalyst Operating System Software, Version $5.5(4b)$ Copyright (c) 1995-2000 by Cisco Systems
4; Cisco Systems, Inc./VPN 3000 Concentrator Version $4.1.7.D$ built by vmurphy on Dec 30 2004 08:57:09
5; Content Switch SW Version $7.10$ Build 405 with SNMPv1/v2c Agent
6; Cisco PIX Firewall Version $6.3(5)$
7; Cisco PIX Firewall Version $6.3(5)125$
Data ligger i en sql-server database med Access som frontend.
Slettet bruger
26. april 2007 - 13:00
#1
I tabel B må du på en eller anden måde have en reference til hvilken type tekst fra tabel A, der er aktuel. Hvis du kun har disse 7 typer, så lav en reference tabel med type, feature set og version. Hvis tabel A er en tabel, som kun indeholder disse 7 poster, så kan du jo bruge den!~)
Slettet bruger
26. april 2007 - 14:18
#3
Dvs. at hver type egentlig refererer til et host felt... Så må du kunne lave en referencetabel eller som sagt hvis tabel A kun indeholder de 7 felter, så kan du udvide den tabel...
Nåh, jeg skal ud i solen!~)
26. april 2007 - 22:32
#5
I et modul lægger du følgende funktioner:
Function Find_Version(s As String)
Dim p1 As Integer
Dim p2 As Integer
Dim Art As Integer
Art = Left(s, 1)
Select Case Art
Case 1, 2
p1 = InStr(1, s, "Version")
p2 = InStr(p1, s, ",")
Find_Version = Mid(s, p1 + 8, p2 - p1 - 8)
Case 3
p1 = InStr(1, s, "Version")
p2 = InStr(p1, s, " Copyright")
Find_Version = Mid(s, p1 + 8, p2 - p1 - 8)
Case 4, 5
p1 = InStr(1, s, "Version")
p2 = InStr(p1, s, " buil")
Find_Version = Mid(s, p1 + 8, p2 - p1 - 8)
Case 6, 7
p1 = InStr(1, s, "Version")
Find_Version = Mid(s, p1 + 8)
End Select
End Function
Function Find_Feature(s As String)
Dim p1 As Integer
Dim p2 As Integer
Dim Art As Integer
Art = Left(s, 1)
If Art <= 2 Then
p1 = InStr(1, s, "Version")
p1 = InStrRev(s, "(", p1)
p2 = InStr(p1, s, ")")
Find_Feature = Mid(s, p1 + 1, p2 - p1 - 1)
Else
Find_Feature = ""
End If
End Function
Opret så en tilføjelsesforespørgsel baseret på tabel A og medtag alle relevante felter + to beregnede felter:
Feature: Find_Feature(EtFelt)
Version: Find_Version(EtFelt)
De to beregnede felter skal så overføres til hhv. [Feature set] og [Version]