Avatar billede l_otto Nybegynder
04. august 2003 - 14:10 Der er 72 kommentarer og
1 løsning

hvordan sletter jeg data på et excel ark der ligger på min server

Hej jeg har et excel ark der ligger på mit webhotel server...

og der er noget data i der skal slettes ? men hvordan åbner jeg det og slette alle data ?

Peter
Avatar billede somaliomar Praktikant
04. august 2003 - 14:34 #1
Flg. kode kræver, at web-serveren har Excel installeret:

<%

Set objXls = CreateObject("Excel.Application")
strFile = "c:\inetpub\wwwroot\myfile.xls"

objXls.Workbook.Open strFile

' Slet data fra celle A1
objXls.ActiveSheet.Range("A1") = ""

objXls.Quit
Set objXls = Nothing

%>
Avatar billede l_otto Nybegynder
04. august 2003 - 14:42 #2
den er vist  installeret for jeg kan skrive til den...
<%

Set objXls = CreateObject("Excel.Application")
strFile = "c:\inetpub\wwwroot\test.xls"

objXls.Workbook.Open strFile

' Slet data fra celle A1
objXls.ActiveSheet.Range("b1") = ""

objXls.Quit
Set objXls = Nothing

%>
<%
' ADODB connection objektet
Set Conn = Server.CreateObject("ADODB.Connection")
' Husk at angive den rigtige sti til din database
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("database.mdb")
' Åben databaseforbindelsen
Conn.Open DSN
%>



<center><FONT SIZE="5" COLOR="#FF0000"><b>Find en Medarbejdere der skal flettes  .</center></FONT></B><BR>
<center>
<TABLE>
    <form action="fletsearch.asp" method="post">
<TR>
    <TD><input type="text" name="search_keyword" class="Formindhold" size="20" value="<% response.write session("search_keyword")%>">
</TD>
</TR>

<%

strSQL = "SELECT DISTINCT(Arbejdsfunktion) AS MedArbStilling FROM medarb"

' Databaseforbindelse [DNSless] - Stien til databasen lokaliseres
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("database.mdb")
Conn.Open DSN

' Skaber et recordset udfra SQL strengen
Set rs = Conn.Execute(strSQL)


%>
<TR>
    <TD>
        <select name="search_stilling">
            <option value=""></option>
            <%
                do while not rs.EOF
               
            %>
          <option <% if rs("MedArbStilling") = session("search_stilling") then response.write "selected" end if %> value="<% Response.write rs("MedArbStilling") %>"><% Response.write rs("MedArbStilling") %></option>
      <%
              rs.MoveNext
     
          loop
           
            %>
    </select>
  </TD>
</TR>
<TR>
    <TD>
        <select name="search_Funktion">
            <option value="Orange scene">Orange scene</option>
   
    </select>
    </TD>             
</TR>
<TR>
    <TD>
        <select name="search_postnr">
            <option value=""></option>
      <option value="4000">4000</option>
      <option value="5000">5000</option>
    </select>
    </TD>             
</TR>
<TR>
    <TD><input type="submit" value="[Søg]" class="knap"></TD>
</TR>
</form>
</TABLE>
Avatar billede l_otto Nybegynder
04. august 2003 - 14:42 #3
Microsoft VBScript runtime error '800a01ad'

ActiveX component can't create object: 'Excel.Application'

/ros/fletsearch_start.asp, line 105
Avatar billede l_otto Nybegynder
04. august 2003 - 14:43 #4
105= Set objXls = CreateObject("Excel.Application")
Avatar billede somaliomar Praktikant
04. august 2003 - 14:49 #5
Er du helt sikker på, at Excel er installeret?
Avatar billede l_otto Nybegynder
04. august 2003 - 14:51 #6
jamen hvis jeg kan skrive til det excel ark jeg har liggende er det vel eller hvad ?
Avatar billede somaliomar Praktikant
04. august 2003 - 15:48 #7
Hvordan ser koden ud, der skriver til regnearket?
Avatar billede l_otto Nybegynder
05. august 2003 - 08:09 #8
' Open a connection to the Excel spreadsheet
Set exConn = Server.CreateObject("ADODB.Connection")
exConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
            "Data Source=" & Server.MapPath("test.xls") & ";" & _
            "Extended Properties=""Excel 8.0;HDR=Yes;"";"

Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("database.mdb")
Conn.Open DSN



' Skaber et recordset udfra SQL strengen
Set rs = Conn.Execute(strSQL)

'Hvis der er fundet poster på søgningen
If Not (rs.BOF Or rs.EOF) Then

MedarbejderPosition = 0



Do While Not rs.EOF

' Variabler deklæres
id                    = rs("id")
Navn                = rs("Navn2")
Efternavn    = rs("Navn1")
Adresse        = rs("Adresse1")
postnr  = rs("Post_nr")
distrikt        = rs("Distrikt")
       



' Generere et link, som er defineret i databasen
Link = "<a href='osemedarb.asp?position="&MedarbejderPosition&"'>"  & Navn & "&nbsp;" & Efternavn &"</a></b>"


' Udskriver linket som det blev genereret ovenfor + tilhørende kommentar
Response.Write "<li>" & Link & "</li>" & "  "
MedarbejderPosition = MedarbejderPosition + 1

'Skriv til excel arket:
SQL = "INSERT INTO `brevFletkols` (fornavn, efternavn, Adresse, postnr, distrikt) VALUES ("
SQL = SQL & "'" & navn & "', "
SQL = SQL & "'" & efternavn & "', "
SQL = SQL & "'" & adresse & "', "
SQL = SQL & "'" & postnr & "', "
SQL = SQL & "'" & distrikt & "') "







exConn.Execute(SQL)
Avatar billede somaliomar Praktikant
05. august 2003 - 09:23 #9
I ovenstående kode bruger du ADO til at få forbindelse til Excel-regnearket. Så vidt jeg ved, arbejder ADO udenom Excel. Dvs. Excel behøver ikke at være installeret på maskinen for at få adgang til regnearkets data.

Når du bruger ADO til at hente data fra et Excel-ark, bruger du SQL-forespørgsler. Du kan også bruge SQL-forespørgsel når du vil slette data i regnearket. Eks:

  strSQL = "DELETE FROM 'brevFletkols' WHERE navn = 'Madam'"
  exConn.Execute(strSQL)

Problemet er bare, at du ikke har fuldstændig kontrol over dit regne-ark.
Avatar billede l_otto Nybegynder
05. august 2003 - 09:45 #10
kan jeg slette fra "B1" og nedefter ?
Avatar billede somaliomar Praktikant
05. august 2003 - 09:58 #11
Jeg ved ikke med sikkerhed om man kan slette en hel kollonne på én gang med ADO. Men du kan lave en løkke der sletter f.eks. data fra efternavn:

strSQL "SELECT efternavn FROM 'brevFletkols'"
Set xRs = exConn.Execute(strSQL)

While Not .EOF
  xRs("efternavn") = ""
  xRs.MoveNext
Wend
Avatar billede somaliomar Praktikant
05. august 2003 - 09:59 #12
Hvorfor bruger du ikke en database i stedet? Det er meget nemmere, at opbevare data i en database end det er i et regneark.
Avatar billede l_otto Nybegynder
05. august 2003 - 10:02 #13
fordi det skal bruge som en brevflet.. altså sekratæren laver en søgning fordi alle medarbejder i 4000 Roskilde skal have et brev... så søgningsresultatet skal ind i et excel ark som hun så gemmer på skrivebordet og kan flette det ind i et word doc.
Avatar billede l_otto Nybegynder
05. august 2003 - 10:08 #14
denne her virker ikke så godt hvad har jeg gjort forkert ?

<%' Open a connection to the Excel spreadsheet
Set exConn = Server.CreateObject("ADODB.Connection")
exConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
            "Data Source=" & Server.MapPath("test.xls") & ";" & _
            "Extended Properties=""Excel 8.0;HDR=Yes;"";"

Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("database.mdb")
Conn.Open DSN

strSQL "SELECT efternavn FROM 'brevFletkols'"
Set xRs = exConn.Execute(strSQL)

While Not .EOF
  xRs("efternavn") = ""
  xRs.MoveNext
Wend
%>
Avatar billede somaliomar Praktikant
05. august 2003 - 10:48 #15
Man kan godt lave en fletning i Word som henter dataene fra en Access-database. Det er meget nemmere end at vedligeholde data to steder.
Avatar billede l_otto Nybegynder
05. august 2003 - 10:50 #16
jamen den er jeg med på hvordan ?
Avatar billede somaliomar Praktikant
05. august 2003 - 12:16 #17
Sådan gør du:

Word > Funktioner > Brevfletning...
Opret > Standardbreve... > Nyt hoveddokument
Hent data > Åbn datakilde... > Find databasen og klik på Åbn
Når dialogboksen Microsoft Access dukker op, vælg en tabel og klik OK
Nu får du: "Word fandt ingen felter...". Klik på Rediger hoveddokument
Indsæt felterne i dokumentet og flet dataene.
Avatar billede l_otto Nybegynder
05. august 2003 - 12:20 #18
jeg tror jeg er med så langt.. men pigerne laver en søgning på nettet og ligger så den data ind i en access db, godt så den ligger jo på mit webhotel så den skal ned på deres lokale pc korrekt ?

Nu kan de ikke lige så godt finde ud af det med FTP osv...
Avatar billede l_otto Nybegynder
06. august 2003 - 08:21 #19
men hvis Excel er installeret i mint webhotel kan din kode så virke ?

for jeg tror det er nemmerste at lige slette al data og så skriver den i excel igen..

Håber ikke du er blevet al for træt af mig.. :-)
Avatar billede l_otto Nybegynder
06. august 2003 - 08:22 #20
det er ærgelig jeg ikke kan få 05/08-2003 10:08:06 til at virke... for så var vi kørene...
Avatar billede somaliomar Praktikant
06. august 2003 - 10:11 #21
Ok. Prøv at lave en tom ASP-dokument med flg. indhold:

<%
' Open a connection to the Excel spreadsheet
Set exConn = Server.CreateObject("ADODB.Connection")
exConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
            "Data Source=" & Server.MapPath("test.xls") & ";" & _
            "Extended Properties=""Excel 8.0;HDR=Yes;"";"

strSQL "SELECT efternavn FROM 'brevFletkols'"
Set xRs = exConn.Execute(strSQL)

While Not .EOF
  Response.Write(xRs("efternavn") & "<br>")
  xRs.MoveNext
Wend

xRs.Close
exConn.Close
Set xRs = Nothing
Set exConn = Nothing

%>
Avatar billede somaliomar Praktikant
06. august 2003 - 10:12 #22
Kør siden i webserveren og se hvad der sker...
Avatar billede l_otto Nybegynder
06. august 2003 - 10:22 #23
Microsoft VBScript runtime error '800a000d'

Type mismatch: 'strSQL'

/ros/p.asp, line 8
Avatar billede l_otto Nybegynder
06. august 2003 - 10:22 #24
linie 8 = strSQL "SELECT efternavn FROM 'brevFletkols'"
Avatar billede somaliomar Praktikant
06. august 2003 - 10:34 #25
Prøv linje 8 om til
strSQL = "SELECT efternavn FROM 'brevFletkols'"
Avatar billede l_otto Nybegynder
06. august 2003 - 10:35 #26
Microsoft JET Database Engine error '80040e14'

Syntax error in query. Incomplete query clause.

/ros/p.asp, line 10
Avatar billede l_otto Nybegynder
06. august 2003 - 10:36 #27
linie 10 = Set xRs = exConn.Execute(strSQL)

hele koden:

<%
' Open a connection to the Excel spreadsheet
Set exConn = Server.CreateObject("ADODB.Connection")
exConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
            "Data Source=" & Server.MapPath("test.xls") & ";" & _
            "Extended Properties=""Excel 8.0;HDR=Yes;"";"


strSQL = "SELECT efternavn FROM 'brevFletkols'"
Set xRs = exConn.Execute(strSQL)

While Not .EOF
  Response.Write(xRs("efternavn") & "<br>")
  xRs.MoveNext
Wend

xRs.Close
exConn.Close
Set xRs = Nothing
Set exConn = Nothing

%>
Avatar billede somaliomar Praktikant
06. august 2003 - 10:47 #28
Prøv flg:

<%
' Open a connection to the Excel spreadsheet
Set exConn = Server.CreateObject("ADODB.Connection")
exConn.Provider = "Microsoft.Jet.OLEDB.4.0"
exConn.ConnectionString = "Data Source=" & Server.MapPath("test.xls") & "; Extended Properties=""Excel 8.0;HDR=Yes;"


strSQL = "SELECT * FROM [Sheet1$]"
Set xRs = exConn.Execute(strSQL)

While Not .EOF
  Response.Write(xRs(0) & "<br>")
  xRs.MoveNext
Wend

xRs.Close
exConn.Close
Set xRs = Nothing
Set exConn = Nothing

%>

Eller prøv at læse
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnasdj01/html/asp0193.asp
http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/Q195/9/51.ASP&NoWebContent=1
Avatar billede l_otto Nybegynder
06. august 2003 - 10:50 #29
har læst det, men syntes ikke der står noget om at slette ?
Avatar billede l_otto Nybegynder
06. august 2003 - 10:51 #30
ADODB.Connection error '800a0bb9'

Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.

/ros/p.asp, line 7
Avatar billede l_otto Nybegynder
06. august 2003 - 10:51 #31
lini 7 = exConn.ConnectionString = "Data Source=" & Server.MapPath("test.xls") & "; Extended Properties=""Excel 8.0;HDR=Yes;"
Avatar billede somaliomar Praktikant
06. august 2003 - 11:02 #32
linie 7 skal se sådan ud:

exConn.ConnectionString = "Data Source=" & Server.MapPath("test.xls") & "; Extended Properties=Excel 8.0;HDR=Yes;"
Avatar billede l_otto Nybegynder
06. august 2003 - 11:04 #33
ADODB.Connection error '800a0e78'

Operation is not allowed when the object is closed.

/ros/p.asp, line 11
Avatar billede l_otto Nybegynder
06. august 2003 - 11:05 #34
line 11= Set xRs = exConn.Execute(strSQL)
Avatar billede l_otto Nybegynder
06. august 2003 - 11:05 #35
<%
' Open a connection to the Excel spreadsheet
Set exConn = Server.CreateObject("ADODB.Connection")
exConn.Provider = "Microsoft.Jet.OLEDB.4.0"
exConn.ConnectionString = "Data Source=" & Server.MapPath("test.xls") & "; Extended Properties=Excel 8.0;HDR=Yes;"


strSQL = "SELECT * FROM [Sheet1$]"
Set xRs = exConn.Execute(strSQL)

While Not .EOF
  Response.Write(xRs(0) & "<br>")
  xRs.MoveNext
Wend

xRs.Close
exConn.Close
Set xRs = Nothing
Set exConn = Nothing

%>
Avatar billede somaliomar Praktikant
06. august 2003 - 11:07 #36
Prøv med

<%
' Open a connection to the Excel spreadsheet
Set exConn = Server.CreateObject("ADODB.Connection")
exConn.Provider = "Microsoft.Jet.OLEDB.4.0"
exConn.ConnectionString = "Data Source=" & Server.MapPath("test.xls") & "; Extended Properties=Excel 8.0;HDR=Yes;"
exConn.Open


strSQL = "SELECT * FROM [Sheet1$]"
Set xRs = exConn.Execute(strSQL)

While Not .EOF
  Response.Write(xRs(0) & "<br>")
  xRs.MoveNext
Wend

xRs.Close
exConn.Close
Set xRs = Nothing
Set exConn = Nothing

%>
Avatar billede l_otto Nybegynder
06. august 2003 - 11:10 #37
Microsoft JET Database Engine error '80004005'

Could not find installable ISAM.

/ros/p.asp, line 8
Avatar billede l_otto Nybegynder
06. august 2003 - 11:10 #38
linie 8 = exConn.Open
Avatar billede somaliomar Praktikant
06. august 2003 - 11:22 #39
Hmm... Prøv at lave linjen
exConn.ConnectionString = "Data Source=" & Server.MapPath("test.xls") & "; Extended Properties=Excel 8.0;HDR=Yes;"

Om til
exConn.ConnectionString = "Data Source=" & Server.MapPath("test.xls") & ";Extended Properties=Excel 8.0;"
Avatar billede l_otto Nybegynder
06. august 2003 - 11:24 #40
så kom vi lidt længere : -)

Microsoft JET Database Engine error '80004005'

'Sheet1$' is not a valid name. Make sure that it does not include invalid characters or punctuation and that it is not too long.

/ros/p.asp, line 12
Avatar billede l_otto Nybegynder
06. august 2003 - 11:24 #41
linie 12 = Set xRs = exConn.Execute(strSQL)



<%
' Open a connection to the Excel spreadsheet
Set exConn = Server.CreateObject("ADODB.Connection")
exConn.Provider = "Microsoft.Jet.OLEDB.4.0"
exConn.ConnectionString = "Data Source=" & Server.MapPath("test.xls") & ";Extended Properties=Excel 8.0;"
exConn.Open


strSQL = "SELECT * FROM [Sheet1$]"
Set xRs = exConn.Execute(strSQL)

While Not .EOF
  Response.Write(xRs(0) & "<br>")
  xRs.MoveNext
Wend

xRs.Close
exConn.Close
Set xRs = Nothing
Set exConn = Nothing

%>
Avatar billede somaliomar Praktikant
06. august 2003 - 12:15 #42
Prøv at erstatte [Sheet1$] med arkets navn sådan her:

  strSQL = "SELECT * FROM [ARKETs NAVN]"

Hvis arket hedder Ark1 skriver du flg:

  strSQL = "SELECT * FROM [Ark1]"
Avatar billede l_otto Nybegynder
06. august 2003 - 12:19 #43
Microsoft JET Database Engine error '80040e37'

The Microsoft Jet database engine could not find the object 'Ark1'. Make sure the object exists and that you spell its name and the path name correctly.

/ros/p.asp, line 12
Avatar billede l_otto Nybegynder
06. august 2003 - 12:19 #44
<%
' Open a connection to the Excel spreadsheet
Set exConn = Server.CreateObject("ADODB.Connection")
exConn.Provider = "Microsoft.Jet.OLEDB.4.0"
exConn.ConnectionString = "Data Source=" & Server.MapPath("test.xls") & ";Extended Properties=Excel 8.0;"
exConn.Open


strSQL = "SELECT * FROM [Ark1]"
Set xRs = exConn.Execute(strSQL)

While Not .EOF
  Response.Write(xRs(0) & "<br>")
  xRs.MoveNext
Wend

xRs.Close
exConn.Close
Set xRs = Nothing
Set exConn = Nothing

%>
Avatar billede somaliomar Praktikant
06. august 2003 - 12:20 #45
Jamen hedder dit ark Ark1?
Avatar billede l_otto Nybegynder
06. august 2003 - 12:23 #46
ja det gør det...
Avatar billede l_otto Nybegynder
06. august 2003 - 12:23 #47
Avatar billede l_otto Nybegynder
06. august 2003 - 13:30 #48
nu går det bedre...:

Microsoft VBScript runtime error '800a01f9'

Invalid or unqualified reference

/ros/p.asp, line 14
Avatar billede l_otto Nybegynder
06. august 2003 - 13:30 #49
linie 14 = While Not .EOF


<%
' Open a connection to the Excel spreadsheet
Set exConn = Server.CreateObject("ADODB.Connection")
exConn.Provider = "Microsoft.Jet.OLEDB.4.0"
exConn.ConnectionString = "Data Source=" & Server.MapPath("test.xls") & ";Extended Properties=Excel 8.0;"
exConn.Open


strSQL = "SELECT * FROM `brevFletkols`"
Set xRs = exConn.Execute(strSQL)

While Not .EOF
  Response.Write(xRs(0) & "<br>")
  xRs.MoveNext
Wend

xRs.Close
exConn.Close
Set xRs = Nothing
Set exConn = Nothing

%>
Avatar billede somaliomar Praktikant
06. august 2003 - 14:49 #50
Prøv med der i stedet:

While Not xR.EOF
Avatar billede l_otto Nybegynder
06. august 2003 - 14:51 #51
Microsoft VBScript runtime error '800a01a8'

Object required: 'xR'

/ros/p.asp, line 14
Avatar billede l_otto Nybegynder
06. august 2003 - 14:51 #52
<%
' Open a connection to the Excel spreadsheet
Set exConn = Server.CreateObject("ADODB.Connection")
exConn.Provider = "Microsoft.Jet.OLEDB.4.0"
exConn.ConnectionString = "Data Source=" & Server.MapPath("test.xls") & ";Extended Properties=Excel 8.0;"
exConn.Open


strSQL = "SELECT * FROM `brevFletkols`"
Set xRs = exConn.Execute(strSQL)

While Not xR.EOF
  Response.Write(xRs(0) & "<br>")
  xRs.MoveNext
Wend

xRs.Close
exConn.Close
Set xRs = Nothing
Set exConn = Nothing

%>
Avatar billede l_otto Nybegynder
06. august 2003 - 14:55 #53
nu kører den igennem men sletter ikke noget ?

<%
' Open a connection to the Excel spreadsheet
Set exConn = Server.CreateObject("ADODB.Connection")
exConn.Provider = "Microsoft.Jet.OLEDB.4.0"
exConn.ConnectionString = "Data Source=" & Server.MapPath("test.xls") & ";Extended Properties=Excel 8.0;"
exConn.Open


strSQL = "SELECT * FROM `brevFletkols`"
Set xRs = exConn.Execute(strSQL)

While Not xRs.EOF
  Response.Write(xRs(0) & "<br>")
  xRs.MoveNext
Wend

xRs.Close
exConn.Close
Set xRs = Nothing
Set exConn = Nothing

%>
Avatar billede somaliomar Praktikant
06. august 2003 - 15:11 #54
Ovenstående kode sletter ikke nogen data fra Excel-filen. Det eneste koden gør, er, at den henter alle de data der er i regnearket og udskriver dem på siden:

strSQL = "SELECT * FROM `brevFletkols`"
...
Response.Write(xRs(0) & "<br>")

Hvis du skal slette en hel række ad gangen, skal du udføre flg. SQL-sætning i Excel-arket:

strSQL = "DELETE FROM `brevFletkols` WHERE efternavn = 'Børgesen'"

Hvis SQL ikke siger dig noget, kan du læse mere om emnet på http://www.w3schools.com/sql/default.asp
Avatar billede l_otto Nybegynder
06. august 2003 - 15:15 #55
jeg skal slette alt på arket på nær a1,b1,c1,d1,e1

hvordan får jeg flettet det ind i .:

strSQL = "DELETE FROM `brevFletkols` WHERE efternavn = 'Børgesen'"
Avatar billede l_otto Nybegynder
06. august 2003 - 15:27 #56
vi er tæt på nu :-)
Avatar billede somaliomar Praktikant
06. august 2003 - 15:42 #57
Prøv at erstatte

strSQL = "SELECT * FROM `brevFletkols`"

med

strSQL = "DELETE FROM `brevFletkols`"
Avatar billede l_otto Nybegynder
06. august 2003 - 15:44 #58
Microsoft JET Database Engine error '80004005'

Deleting data in a linked table is not supported by this ISAM.

/ros/p.asp, line 12
Avatar billede l_otto Nybegynder
06. august 2003 - 15:44 #59
lini 12= Set xRs = exConn.Execute(strSQL)



<%
' Open a connection to the Excel spreadsheet
Set exConn = Server.CreateObject("ADODB.Connection")
exConn.Provider = "Microsoft.Jet.OLEDB.4.0"
exConn.ConnectionString = "Data Source=" & Server.MapPath("test.xls") & ";Extended Properties=Excel 8.0;"
exConn.Open


strSQL = "DELETE FROM `brevFletkols`"
Set xRs = exConn.Execute(strSQL)

While Not xRs.EOF
  Response.Write(xRs(0) & "<br>")
  xRs.MoveNext
Wend

xRs.Close
exConn.Close
Set xRs = Nothing
Set exConn = Nothing

%>
Avatar billede l_otto Nybegynder
06. august 2003 - 15:46 #60
strSQL = "DELETE FROM `brevFletkols` WHERE efternavn = 'Nielsen'"

kan jeg heller ikke få til at virke

den laver den der ISAM fejl, måske kan man slet ikke slette ?
Avatar billede l_otto Nybegynder
08. august 2003 - 13:05 #61
hej er vi ved at være der hvor vi ikke kan komme videre ????

Jeg vil så gerne have det til at virke
Avatar billede somaliomar Praktikant
08. august 2003 - 15:22 #62
Jeg har ikke lige haft tid til at kigge på det.

Fra http://support.microsoft.com/default.aspx?scid=kb;EN-US;q257819

<rip>
You are more restricted in deleting Excel data than data from a relational data source. In a relational database, "row" has no meaning or existence apart from "record"; in an Excel worksheet, this is not true. You can delete values in fields (cells). However, you cannot: Delete an entire record at once or you receive the following error message:

"Deleting data in a linked table is not supported by this ISAM."

You can only delete a record by blanking out the contents of each individual field.
</rip>


Prøv i stedet med:

<%
' Open a connection to the Excel spreadsheet
Set exConn = Server.CreateObject("ADODB.Connection")
exConn.Provider = "Microsoft.Jet.OLEDB.4.0"
exConn.ConnectionString = "Data Source=" & Server.MapPath("test.xls") & ";Extended Properties=Excel 8.0;"
exConn.Open

strSQL = "UPDATE `brevFletkols` kollonne1='', kollonne2='' WHERE kollonne2='værdi'"
exConn.Execute(strSQL)

exConn.Close
Set exConn = Nothing
%>
Avatar billede l_otto Nybegynder
11. august 2003 - 14:16 #63
lyder rigtigt..!

Microsoft JET Database Engine error '80040e14'

Syntax error in UPDATE statement.

/ros/p.asp, line 12
Avatar billede l_otto Nybegynder
11. august 2003 - 14:16 #64
linie=12 exConn.Execute(strSQL)
Avatar billede somaliomar Praktikant
11. august 2003 - 14:35 #65
SQL-forespørgslen skal se sådan ud:
strSQL = "UPDATE `brevFletkols` SET kollonne1='', kollonne2='' WHERE kollonne2='værdi'"
Avatar billede l_otto Nybegynder
11. august 2003 - 14:37 #66
Microsoft JET Database Engine error '80040e10'

No value given for one or more required parameters.

/ros/p.asp, line 12
Avatar billede l_otto Nybegynder
11. august 2003 - 14:37 #67
<%
' Open a connection to the Excel spreadsheet
Set exConn = Server.CreateObject("ADODB.Connection")
exConn.Provider = "Microsoft.Jet.OLEDB.4.0"
exConn.ConnectionString = "Data Source=" & Server.MapPath("test.xls") & ";Extended Properties=Excel 8.0;"
exConn.Open


strSQL = "UPDATE `brevFletkols` SET kollonne1='', kollonne2='' WHERE kollonne2='værdi'"
exConn.Execute(strSQL)

exConn.Close
Set exConn = Nothing
%>
Avatar billede somaliomar Praktikant
11. august 2003 - 14:41 #68
Du skal lige huske at erstatte KOLLONNE1 og KOLLONNE2 med dine egne kollonner. Du kan læse om SQL på http://www.w3schools.com/sql/default.asp
Avatar billede l_otto Nybegynder
11. august 2003 - 14:49 #69
godt så her skulle den gerne sige at den skal sætte værdien til "" i kollonne A1 hvis der er værdi i kollonne a1 ik ?

<%
' Open a connection to the Excel spreadsheet
Set exConn = Server.CreateObject("ADODB.Connection")
exConn.Provider = "Microsoft.Jet.OLEDB.4.0"
exConn.ConnectionString = "Data Source=" & Server.MapPath("test.xls") & ";Extended Properties=Excel 8.0;"
exConn.Open


strSQL = "UPDATE `brevFletkols` SET kollonneA1='' WHERE kollonneA1='værdi'"
exConn.Execute(strSQL)

exConn.Close
Set exConn = Nothing
%>
Avatar billede l_otto Nybegynder
11. august 2003 - 14:49 #70
Microsoft JET Database Engine error '80040e10'

No value given for one or more required parameters.

/ros/p.asp, line 12
Avatar billede l_otto Nybegynder
11. august 2003 - 15:59 #71
jeg har denne kode der skriver fint i excelarket hvordan kan jeg få den lavet om til at overwrite/blanke out ?

Open a connection to the Excel spreadsheet
Set exConn = Server.CreateObject("ADODB.Connection")
exConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
            "Data Source=" & Server.MapPath("test.xls") & ";" & _
            "Extended Properties=""Excel 8.0;HDR=Yes;"";"

Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("database.mdb")
Conn.Open DSN



' Skaber et recordset udfra SQL strengen
Set rs = Conn.Execute(strSQL)

'Hvis der er fundet poster på søgningen
If Not (rs.BOF Or rs.EOF) Then

MedarbejderPosition = 0



Do While Not rs.EOF

' Variabler deklæres
id                    = rs("id")
Navn                = rs("Navn2")
Efternavn    = rs("Navn1")
Adresse        = rs("Adresse1")
postnr  = rs("Post_nr")
distrikt        = rs("Distrikt")
       



' Generere et link, som er defineret i databasen
Link = "<a href='osemedarb.asp?position="&MedarbejderPosition&"'>"  & Navn & "&nbsp;" & Efternavn &"</a></b>"


' Udskriver linket som det blev genereret ovenfor + tilhørende kommentar
Response.Write "<li>" & Link & "</li>" & "  "
MedarbejderPosition = MedarbejderPosition + 1

'Skriv til excel arket:
SQL = "INSERT INTO `brevFletkols` (fornavn, efternavn, Adresse, postnr, distrikt) VALUES ("
SQL = SQL & "'" & navn & "', "
SQL = SQL & "'" & efternavn & "', "
SQL = SQL & "'" & adresse & "', "
SQL = SQL & "'" & postnr & "', "
SQL = SQL & "'" & distrikt & "') "







exConn.Execute(SQL)

rs.MoveNext
Loop

Else

' Hvis der ikke er fundet poster på søgningen
Response.Write "<li>Sådan en har vi ikke  ?"

End If

' Databaseforbindelsen lukkes
Conn.Close
Set Conn = Nothing
exConn.Close
Set exConn = Nothing %>
Avatar billede l_otto Nybegynder
11. august 2003 - 16:20 #72
nu har jeg den.. men hvordan får jeg laver "babera" om til bare der er noget skrevet i feltet ?

<%
' Open a connection to the Excel spreadsheet
Set exConn = Server.CreateObject("ADODB.Connection")
exConn.Provider = "Microsoft.Jet.OLEDB.4.0"
exConn.ConnectionString = "Data Source=" & Server.MapPath("test.xls") & ";Extended Properties=Excel 8.0;"
exConn.Open


strSQL = "UPDATE `brevFletkols` SET fornavn='' WHERE fornavn='Barbara'"
exConn.Execute(strSQL)

exConn.Close
Set exConn = Nothing
%>
Avatar billede somaliomar Praktikant
11. august 2003 - 17:14 #73
Huh? Jeg forstår ikke, hvad det er du vil.
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