Avatar billede totalpc Seniormester
22. april 2010 - 10:24 Der er 6 kommentarer og
1 løsning

Kun skrive de første 3 karakter

Hej
Jeg bruger nedenstående til at smide noget data fra access til excel. Men når den skal skrive scanning.stregkode så vil jeg kun have de første 3 karakter med. Feltet består fx af 114p3 og jeg vil så kun have 114 skrevet i excelarket. Nogen der kan hjælpe?

<%
Dim objConn        'Holds the Database Connection Object

Set objConn = Server.CreateObject("ADODB.Connection")

'Set an active connection to the Connection object using a DSN-less connection
objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Inetpub\wwwroot\stafet.mdb"
Function CreateExcel(Title,tblname)
  Dim Rs,Fso,Act,fname
  Fname = "Udtrak\Udtrak_hold_tid.xls"
  Set rs = Server.CreateObject("ADODB.Recordset")
  Set FSO = Createobject("scripting.filesystemobject")
  Set act = Fso.CreateTextfile(server.mappath(Fname),true)
  rs.Open Tblname, objconn, 3, 3
  If Not Rs.EOF and not Rs.BOF Then
    act.WriteLine "<html xmlns:x=""urn:schemas-microsoft-com:office:excel"">"
    act.WriteLine "<head>"
    act.WriteLine "<!--[if gte mso 9]><xml>"
    act.WriteLine "<x:ExcelWorkbook>"
    act.WriteLine "<x:ExcelWorksheets>"
    act.WriteLine "<x:ExcelWorksheet>"
    act.WriteLine "<x:Name>"& title &"</x:Name>"
    act.WriteLine "<x:WorksheetOptions>"
    act.WriteLine "<x:Print>"
    act.WriteLine "<x:ValidPrinterInfo/>"
    act.WriteLine "</x:Print>"
    act.WriteLine "</x:WorksheetOptions>"
    act.WriteLine "</x:ExcelWorksheet>"
    act.WriteLine "</x:ExcelWorksheets>"
    act.WriteLine "</x:ExcelWorkbook>"
    act.WriteLine "</xml>"
    act.WriteLine "<![endif]--> "
    act.WriteLine "</head>"
    act.WriteLine "<body>"

Act.Writeline "<table border=1>"
    Act.Writeline "<Tr>"
      Act.Writeline "<Td><b>Nr</b></td>"
    For X = 0 to Rs.Fields.count - 1
      Act.Writeline "<Td><b>" & Rs.Fields.Item(x).Name & "</b></td>"
    Next
    Act.Writeline "</Tr>"
    While not Rs.Eof
antal = antal + 1
      Act.Writeline "<Tr>"
Act.Writeline "<Td>"& antal &"</td>"

      For X = 0 To Rs.Fields.Count - 1
        Act.Writeline "<Td>" & Rs.Fields.Item(X).Value & "</td>"
      Next
      Act.Writeline "</Tr>"
      Rs.Movenext

    Wend
    Act.Writeline "</Table>"
    act.writeline "<tr></tr>"
    act.writeline "<tr>BEC Stafet 2010</tr>"
    act.WriteLine "</body>"
    act.WriteLine "</html>"

  End if
  Act.close
  Rs.close
%>
<html>
<body style="background-color: #ECF9FF">
Dit excel udtræk kan hentes hér: <a href="<%=fname%>" target="_blank"> Udtræk </a>
<br>
<br>

</body>
</html>
<%
  End function

call CreateExcel("Holdenes tider","SELECT scanning.tid, hold.navn, scanning.stregkode, hold.virksomhed  FROM scanning INNER JOIN Hold ON (scanning.holdnr = hold.Holdnr) WHERE RIGHT(stregkode, 2) = 'p3' order by tid asc")
'Reset server objects

Set rs = Nothing
Set objConn = Nothing

%>
Avatar billede 2Mida Praktikant
22. april 2010 - 10:32 #1
Kan du ikke bruge LEFT funktionen, Left(Txt,3) giver de 3 første karakterer!?
Avatar billede totalpc Seniormester
22. april 2010 - 10:37 #2
Jo den regnede jeg også med, men jeg kan ikke finde ud af at implementere den i koden. Det er jo kun når det ene felt skrives at den skal være aktiv!
Avatar billede 2Mida Praktikant
22. april 2010 - 10:57 #3
Jeg er ikke specielt ASP stærk, men du må kunne bruge en test på feltnavnet som du kender fra Rs.Fields.Item(x).Name

Noget a la

if Rs.Fields.Item(x).Name = "stregkode" then
Act.Writeline "<Td>" & LEFT(Rs.Fields.Item(X).Value,3) & "</td>"
else
Act.Writeline "<Td>" & Rs.Fields.Item(X).Value & "</td>"
Avatar billede totalpc Seniormester
22. april 2010 - 11:37 #4
super. Smid et svar
Avatar billede 2Mida Praktikant
22. april 2010 - 12:11 #5
Svar ;-)
Avatar billede totalpc Seniormester
22. april 2010 - 12:18 #6
du glemte at lave dit svar som et svar og ikke en kommentar :)
Avatar billede 2Mida Praktikant
22. april 2010 - 12:34 #7
tsk tsk
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
Kurser inden for grundlæggende programmering

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



Seneste spørgsmål Seneste aktivitet
I går 23:37 Poe strøm Af lurup i LAN/WAN
I går 14:46 GIF-EDITOR Af snestrup2000 i Billedbehandling
I går 14:03 Logge ind Af Bob i PC
I går 12:12 2 skærme - 1 virker - den anden siger No signal Af eksmojo i Skærme
I går 10:33 openvpn projekt Af dcedata1977 i Windows