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
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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