' 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("Fornavn") Efternavn = rs("Efternavn") Adresse = rs("Adresse")
' Generere et link, som er defineret i databasen Link = "<a href='semedarb.asp?position="&MedarbejderPosition&"'>" & Navn & " " & Efternavn &"</a></b>"
' Udskriver linket som det blev genereret ovenfor + tilhørende kommentar Response.Write "<li>" & Link & "</li>" & " " MedarbejderPosition = MedarbejderPosition + 1
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
Så kan du gør som i stil med dette. Man skal definere et område som "tabellen". Hvis man har fornavn og efternavn i henholdes vis A og B A B 1 fornavn efternavn 2 xxx yyyy 3 ccc vvvv
Så skal man markere A1->B1 og vælg "Indsæt->Navn->Definer" og skrive eksvis brevFletkols Så kan du bruge excel som en anden DB.:
<% ' 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;"";"
' This SQL statement selects a cell range in the "Expenses" worksheet. ' "SELECT * from `Expenses$A2:C4`"
' 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("Fornavn") Efternavn = rs("Efternavn") Adresse = rs("Adresse")
' Generere et link, som er defineret i databasen Link = "<a href='semedarb.asp?position="&MedarbejderPosition&"'>" & Navn & " " & Efternavn &"</a></b>"
' Udskriver linket som det blev genereret ovenfor + tilhørende kommentar Response.Write "<li>" & Link & "</li>" & " " MedarbejderPosition = MedarbejderPosition + 1
hej .. jeg har nu lagt test.xls på min server i samme mappe fint og jeg har skrevet fornavn i a1 feltet og efternavn i b1 feltet.. det skulle være iorden...
men jeg får en fejl.. her er hele koden til siden..
<% Response.Buffer = True %>
<% Session("sessionnavn") = "Rune" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE>Medarbejdere</TITLE> <META NAME="Generator" CONTENT="EditPlus"> <META NAME="Author" CONTENT=""> <META NAME="Keywords" CONTENT=""> <META NAME="Description" CONTENT=""> </HEAD><style type="text/css"> div.clSlideMenu0{ /* All slideMenu2 DIV elements */ position:absolute; font-family:verdana,arial,helvetica; font-size:10px; overflow:hidden; height:22; background-color:#FFCD32; } div.clSlideMenu1{ /* All slideMenu2 DIV elements */ position:absolute; font-family:arial,helvetica; font-size:20px; overflow:hidden; height:22; background-color:#FFCD32; } div.clSlideMenu2{ /* All slideMenu2 DIV elements */ position:absolute; font-family:arial,helvetica; font-size:20px; overflow:hidden; height:22; background-color:green; } div.clSlideMenu3{ /* All slideMenu2 DIV elements */ position:absolute; font-family:arial,helvetica; font-size:20px; overflow:hidden; height:22; background-color:silver; } div.clSlideMenu4{ /* All slideMenu2 DIV elements */ position:absolute; font-family:arial,helvetica; font-size:20px; overflow:hidden; height:22; background-color:navy; } a.clA0{ /* All top level links */ color:red; font-size:12px; text-decoration:none; font-weight:bold; } a.clA1{ /* All sub level links */ color:red; font-size:12px; font-weight:bold; text-decoration:none; } a.clA2{ /* All sub2 level links */ color:navy; text-decoration:none; } a.clA3{ /* All sub3 level links */ color:white; text-decoration:none; } a.clA4{ /* All sub4 level links */ color:green; text-decoration:none; } span.clArrow{ font-family:webdings; }
<script language="JavaScript" src="slidemenu.js" type="text/javascript"> /********************************************************************************** SlideMenu 2.0 * Copyright (C) 2002 Thomas Brattli * This script was released at DHTMLCentral.com * Visit for more great scripts! * This may be used and changed freely as long as this msg is intact! * We will also appreciate any links you could give us. * * Made by Thomas Brattli * *Script date: 08/05/2002 (keep this date to check versions) *********************************************************************************/ </script> </head> <link rel="stylesheet" type="text/css" href="ccs.txt"> <BODY marginleft="0" bgcolor="white" marginheight="0"> <% ' 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 %>
if not back = "true" then session("search_keyword") = strKeyword session("search_stilling") = strStilling session("search_postnr") = strPostNummer end if
searchExpression = "false"
' Hvis der er skrevet i feltet strKeyword = Replace(strKeyword,"'","''") strStilling = Replace(strStilling,"'","''") strPostNummer = Replace(strPostNummer,"'","''")
if strKeyword <> "" then if searchExpression = "false" then strSQL = strSQL & " WHERE " end if strSQL = strSQL & " ((id LIKE '%" & strKeyword & "%')" strSQL = strSQL & " OR (Fornavn LIKE '%" & strKeyword & "%')" strSQL = strSQL & " OR (Efternavn LIKE '%" & strKeyword & "%')" strSQL = strSQL & " OR (Adresse LIKE '%" & strKeyword & "%')" strSQL = strSQL & " OR (Postnr LIKE '%" & strKeyword & "%')" strSQL = strSQL & " OR (Bynavn LIKE '%" & strKeyword & "%')" strSQL = strSQL & " OR (Mobiltelefon LIKE '%" & strKeyword & "%')" strSQL = strSQL & " OR (Telefon LIKE '%" & strKeyword & "%')" strSQL = strSQL & " OR (mailm LIKE '%" & strKeyword & "%')" strSQL = strSQL & " OR (Stilling LIKE '%" & strKeyword & "%') )"
searchExpression = "true" end if
if strStilling <> "" then if searchExpression = "false" then strSQL = strSQL & " WHERE " end if if searchExpression = "true" then strSQL = strSQL & " AND " end if strSQL = strSQL & " ( Stilling = '" & strStilling & "') " searchExpression = "true" end if
if strPostNummer <> "" then if searchExpression = "false" then strSQL = strSQL & " WHERE " end if if searchExpression = "true" then strSQL = strSQL & " AND " end if strSQL = strSQL & " ( Postnr = '" & strPostNummer & "') " searchExpression = "true" end if
strSQL = strSQL & " ORDER BY Efternavn "
'hvis vi er gået tilbage så vis den gamle søgning if back = "true" then strSQL = session("search_sql") end if
' 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("Fornavn") Efternavn = rs("Efternavn") Adresse = rs("Adresse")
' Generere et link, som er defineret i databasen Link = "<a href='semedarb.asp?position="&MedarbejderPosition&"'>" & Navn & " " & Efternavn &"</a></b>"
' Udskriver linket som det blev genereret ovenfor + tilhørende kommentar Response.Write "<li>" & Link & "</li>" & " " MedarbejderPosition = MedarbejderPosition + 1
her er koden fra den side hvor jeg laver søgningen... <% ' 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 %>
så det jeg vil det er at jeg vil finde alle dem der feks hedder "bossen" alle deres fornavn og efternavne skal så ned i excel arket så jeg kan downloade det og bruge det som brevflet...
du er god nu kom vi lidt længere... nu er det denne fejl.:
Microsoft JET Database Engine error '80040e37'
The Microsoft Jet database engine could not find the object 'brevFletkols'. Make sure the object exists and that you spell its name and the path name correctly.
Læser du ikke hvad jeg skriver ? :) De to linjer skal ind inden loopet så den kun sletter en gang og ikke sletter den man lige har sat ind lige efter..
Dit Loop:
' 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("Fornavn") Efternavn = rs("Efternavn") Adresse = rs("Adresse")
' Generere et link, som er defineret i databasen Link = "<a href='semedarb.asp?position="&MedarbejderPosition&"'>" & Navn & " " & Efternavn &"</a></b>"
' Udskriver linket som det blev genereret ovenfor + tilhørende kommentar Response.Write "<li>" & Link & "</li>" & " " MedarbejderPosition = MedarbejderPosition + 1
' Hvis der er fundet poster på søgningen If Not (rs.BOF Or rs.EOF) Then
MedarbejderPosition = 0
' Her skal man slette så man ikke sletter dem man lige har sat ind SQL = "DELETE FROM brevFletkols" exConn.Execute(SQL)
Do While Not rs.EOF
' Variabler deklæres id = rs("id") Navn = rs("Fornavn") Efternavn = rs("Efternavn") Adresse = rs("Adresse")
' Generere et link, som er defineret i databasen Link = "<a href='semedarb.asp?position="&MedarbejderPosition&"'>" & Navn & " " & Efternavn &"</a></b>"
' Udskriver linket som det blev genereret ovenfor + tilhørende kommentar Response.Write "<li>" & Link & "</li>" & " " MedarbejderPosition = MedarbejderPosition + 1
' 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
' Her skal man slette så man ikke sletter dem man lige har sat ind SQL = "DELETE FROM brevFletkols" exConn.Execute(SQL)
Do While Not rs.EOF
' Variabler deklæres id = rs("id") Navn = rs("Fornavn") Efternavn = rs("Efternavn") Adresse = rs("Adresse")
' Generere et link, som er defineret i databasen Link = "<a href='semedarb.asp?position="&MedarbejderPosition&"'>" & Navn & " " & Efternavn &"</a></b>"
' Udskriver linket som det blev genereret ovenfor + tilhørende kommentar Response.Write "<li>" & Link & "</li>" & " " MedarbejderPosition = MedarbejderPosition + 1
The Microsoft Jet database engine could not find the object 'brevFletkols'. Make sure the object exists and that you spell its name and the path name correctly.
Prøv på den fil du har på din PC at gøre her: Åben filen Markere området A1->B1 I menuen vælg "Indsæt->Navn->Definer" Skriv brevFletkols , luk den dialogbox Skriv noget teskt i en tilfældig celle C3. Gem filen, luk filen, åben filen, tjek at navet brevFletkols er i filen ved at gp ind i menuen vælg "Indsæt->Navn->Definer" Slet det som er skrevet i C3. Gem filen igen og upload den.
Der er lige en anden ting, man kan ikke lave en DELETE på den måde i Execl se evt linket her, den vil komme med denne fejl: Deleting data in a linked table is not supported by this ISAM
Ja men jeg ved ikke helt hvordan det skal gøre. Fra MS hjemme side:
Although the Jet OLE DB Provider allows you to insert and update records in an Excel workbook, it does not allow DELETE operations. If you try to perform a DELETE operation on one or more records, you receive the following error message:
Deleting data in a linked table is not supported by this ISAM. This limitation is inherent in the treatment of Excel workbooks as databases.
Så det kan ikke lade sig gøre at slette dem med DELETE.
Alternativt kan man måske havde to filer en "master" som indeholder kolonnerne også kopier man den fil til en ny som er den du bruger til brevflet hvor man ligger data i. Dermed overskrives filen hver gang man kopier "masteren".
kan man lave det med en knap.. man trykker på før man laver "søgningen" så den lige sletter eller ligge det ind i den side der hedder..search_start.asp ?
Da man ikke kan slette i Excel arket med DELETE, så må du havde som før skrevet en orginal som du tager en kopi af hver gang man søger og overskriver den gamle fil i stedet for at slette i filen.
Der står man kan slette enkelte celler i excel arket, men det er ikke lykkes mig at gøre det via SQL.
vi skal bare have den til at indsætte værdi="" altså ingenting i de samme felter .. det kan man vel bare gøre ved siden af, alstå lave en slet.asp side man lige skal køre inden man laver den rigtige søgnig ik..
se her:
<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>
hvordan laver jeg lige den ?
bare en slet.asp side der lige skal køres..
hjælp så er vi der...
Peter
Synes godt om
Ny brugerNybegynder
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.