Avatar billede zepierre Nybegynder
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.
Avatar billede 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!~)
Avatar billede zepierre Nybegynder
26. april 2007 - 13:10 #2
Tabel A indeholder flere felter bla. et host felt som jeg refererer til et host felt i tabel B.
Derved kan jeg opdatere feature set og version felterne i tabel B.
Avatar billede 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!~)
Avatar billede Slettet bruger
26. april 2007 - 14:18 #4
Held og lykke...
Avatar billede fdata Forsker
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]
Avatar billede zepierre Nybegynder
02. maj 2007 - 09:08 #6
Super - det var lige den tilgang til problemet, som jeg manglede.

Tak for det hurtige svar.
Avatar billede fdata Forsker
02. maj 2007 - 19:24 #7
Velbekomme. Tak for point  ;o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester