... eller rettere sagt ... det gøres fra Word. Når du laver etiketterne i Word, og vælger Access-databasen, derefter tabellen, så skulle du gerne have mulighed for at markere hvilke poster du vil have flettet ind.
Jo det kan man sagtens. Min mening var nu blot at der da ikke var nogen speciel grund til at gøre det mere besværligt end højest nødvendigt - når man nu kan gøre det direkte i Office-pakken. Hvis jeg var jer, så ville jeg under alle omstændigheder sørge for at downlaode database-filen med jævne mellemrum - om ikke andet så for backup.
Alletiders!! Men det er en voldsom omgang, da der er mange felter!!
Men her er den (hvor alle resultater vises)
<%@LANGUAGE="VBSCRIPT"%> <% 'Her bliver der undersøgt om session("Adgang") er sat til Godkendt, er den ikke det bliver man sendt tilbage til adgangskontrol.asp med en fejlmeddelelse If Not Session("Adgang") = "Godkendt" Then Response.Redirect("login.asp?valg=forbudt") End If %>
<!--#include file="../Connections/firma.asp" --> <% Dim Recordset1__a Recordset1__a = "z" If (Request("checkbox1") <> "") Then Recordset1__a = Request("checkbox1") End If %> <% Dim Recordset1__c Recordset1__c = "z" If (Request("checkbox2") <> "") Then Recordset1__c = Request("checkbox2") End If %> <% Dim Recordset1__d Recordset1__d = "z" If (Request("checkbox3") <> "") Then Recordset1__d = Request("checkbox3") End If %> <% Dim Recordset1__e Recordset1__e = "z" If (Request("checkboxEI") <> "") Then Recordset1__e = Request("checkboxEI") End If %> <% Dim Recordset1__f Recordset1__f = "z" If (Request("checkbox4") <> "") Then Recordset1__f = Request("checkbox4") End If %> <% Dim Recordset1__g Recordset1__g = "z" If (Request("checkbox5") <> "") Then Recordset1__g = Request("checkbox5") End If %> <% Dim Recordset1__h Recordset1__h = "z" If (Request("checkbox6") <> "") Then Recordset1__h = Request("checkbox6") End If %> <% Dim Recordset1__i Recordset1__i = "z" If (Request("checkbox6a") <> "") Then Recordset1__i = Request("checkbox6a") End If %> <% Dim Recordset1__ge_1 Recordset1__ge_1 = "z" If (Request("checkbox7") <> "") Then Recordset1__ge_1 = Request("checkbox7") End If %> <% Dim Recordset1__fi_1 Recordset1__fi_1 = "z" If (Request("checkbox8") <> "") Then Recordset1__fi_1 = Request("checkbox8") End If %> <% Dim Recordset1__oa_1 Recordset1__oa_1 = "z" If (Request("navn") <> "") Then Recordset1__oa_1 = Request("navn") End If %> <% Dim Recordset1__af_1 Recordset1__af_1 = "z" If (Request("adresse") <> "") Then Recordset1__af_1 = Request("adresse") End If %> <% Dim Recordset1__sf_1 Recordset1__sf_1 = "z" If (Request("post") <> "") Then Recordset1__sf_1 = Request("post") End If %> <% Dim Recordset1__p Recordset1__p = "z" If (Request("by") <> "") Then Recordset1__p = Request("by") End If %> <% Dim Recordset1__fn_1 Recordset1__fn_1 = "z" If (Request("web") <> "") Then Recordset1__fn_1 = Request("web") End If %> <% Dim Recordset1__fnradio_1 Recordset1__fnradio_1 = "z" If (Request("telefon") <> "") Then Recordset1__fnradio_1 = Request("telefon") End If %> <% Dim Recordset1__ku_1 Recordset1__ku_1 = "z" If (Request("beskriv") <> "") Then Recordset1__ku_1 = Request("beskriv") End If %> <% Dim Recordset1__kuradio_1 Recordset1__kuradio_1 = "z" If (Request("ønskerbeskriv") <> "") Then Recordset1__kuradio_1 = Request("ønskerbeskriv") End If %> <% Dim Recordset1__peradio_1 Recordset1__peradio_1 = "z" If (Request("eamvkontakt1") <> "") Then Recordset1__peradio_1 = Request("eamvkontakt1") End If %> <% Dim Recordset1__peradio_2 Recordset1__peradio_2 = "z" If (Request("eamvkontakt2") <> "") Then Recordset1__peradio_2 = Request("eamvkontakt2") End If %> <% Dim Recordset1__peradio_3 Recordset1__peradio_3 = "z" If (Request("eamvkontakt3") <> "") Then Recordset1__peradio_3 = Request("eamvkontakt3") End If %> <% Dim Recordset1__peradio_4 Recordset1__peradio_4 = "z" If (Request("eamvkontakt4") <> "") Then Recordset1__peradio_4 = Request("eamvkontakt4") End If %> <% Dim Recordset1__peradio_5 Recordset1__peradio_5 = "z" If (Request("eamvkontakt5") <> "") Then Recordset1__peradio_5 = Request("eamvkontakt5") End If %> <% Dim Recordset1__peradio_6 Recordset1__peradio_6 = "z" If (Request("eamvkontakt6") <> "") Then Recordset1__peradio_6 = Request("eamvkontakt6") End If %> <% Dim Recordset1__iktradio_1 Recordset1__iktradio_1 = "z" If (Request("eamvkontakt7") <> "") Then Recordset1__iktradio_1 = Request("eamvkontakt7") End If %> <% Dim Recordset1__iktradio_2 Recordset1__iktradio_2 = "z" If (Request("eamvkontakt8") <> "") Then Recordset1__iktradio_2 = Request("eamvkontakt8") End If %> <% Dim Recordset1__iktradio_3 Recordset1__iktradio_3 = "z" If (Request("eamvkontakt9") <> "") Then Recordset1__iktradio_3 = Request("eamvkontakt9") End If %> <% Dim Recordset1__iktradio_4 Recordset1__iktradio_4 = "z" If (Request("eamvkontakt10") <> "") Then Recordset1__iktradio_4 = Request("eamvkontakt10") End If %> <% Dim Recordset1__iktradio_5 Recordset1__iktradio_5 = "z" If (Request("givetlov") <> "") Then Recordset1__iktradio_5 = Request("givetlov") End If %> <% Dim Recordset1__iktradio_6 Recordset1__iktradio_6 = "z" If (Request("kontaktfirma1a") <> "") Then Recordset1__iktradio_6 = Request("kontaktfirma1a") End If %> <% Dim Recordset1__iktradio_7 Recordset1__iktradio_7 = "z" If (Request("kontaktfirma1b") <> "") Then Recordset1__iktradio_7 = Request("kontaktfirma1b") End If %> <% Dim Recordset1__iktradio_8 Recordset1__iktradio_8 = "z" If (Request("kontaktfirma1c") <> "") Then Recordset1__iktradio_8 = Request("kontaktfirma1c") End If %> <% Dim Recordset1__iktradio_9 Recordset1__iktradio_9 = "z" If (Request("kontaktfirma1d") <> "") Then Recordset1__iktradio_9 = Request("kontaktfirma1d") End If %> <% Dim Recordset1__iktradio_10 Recordset1__iktradio_10 = "z" If (Request("kontaktfirma2a") <> "") Then Recordset1__iktradio_10 = Request("kontaktfirma2a") End If %> <% Dim Recordset1__ud_1 Recordset1__ud_1 = "z" If (Request("kontaktfirma2b") <> "") Then Recordset1__ud_1 = Request("kontaktfirma2b") End If %> <% Dim Recordset1__ud_2 Recordset1__ud_2 = "z" If (Request("kontaktfirma2c") <> "") Then Recordset1__ud_2 = Request("kontaktfirma2c") End If %> <% Dim Recordset1__ud_3 Recordset1__ud_3 = "z" If (Request("kontaktfirma2d") <> "") Then Recordset1__ud_3 = Request("kontaktfirma2d") End If %> <% Dim Recordset1__ud_4 Recordset1__ud_4 = "z" If (Request("kontaktfirma3a") <> "") Then Recordset1__ud_4 = Request("kontaktfirma3a") End If %> <% Dim Recordset1__ud_5 Recordset1__ud_5 = "z" If (Request("kontaktfirma3b") <> "") Then Recordset1__ud_5 = Request("kontaktfirma3b") End If %> <% Dim Recordset1__projektradio_1 Recordset1__projektradio_1 = "z" If (Request("kontaktfirma3c") <> "") Then Recordset1__projektradio_1 = Request("kontaktfirma3c") End If %> <% Dim Recordset1__projektradio_2 Recordset1__projektradio_2 = "z" If (Request("kontaktfirma3d") <> "") Then Recordset1__projektradio_2 = Request("kontaktfirma3d") End If %> <% Dim Recordset1__projektradio_3 Recordset1__projektradio_3 = "z" If (Request("kontaktfirma4a") <> "") Then Recordset1__projektradio_3 = Request("kontaktfirma4a") End If %> <% Dim Recordset1__projektradio_4 Recordset1__projektradio_4 = "z" If (Request("kontaktfirma4b") <> "") Then Recordset1__projektradio_4 = Request("kontaktfirma4b") End If %> <% Dim Recordset1__projektrolleradio_1 Recordset1__projektrolleradio_1 = "z" If (Request("kontaktfirma4c") <> "") Then Recordset1__projektrolleradio_1 = Request("kontaktfirma4c") End If %> <% Dim Recordset1__projektrolleradio_2 Recordset1__projektrolleradio_2 = "z" If (Request("kontaktfirma4d") <> "") Then Recordset1__projektrolleradio_2 = Request("kontaktfirma4d") End If %> <% Dim Recordset1__interradio_1 Recordset1__interradio_1 = "z" If (Request("kontaktfirma5a") <> "") Then Recordset1__interradio_1 = Request("kontaktfirma5a") End If %> <% Dim Recordset1__interradio_2 Recordset1__interradio_2 = "z" If (Request("kontaktfirma5b") <> "") Then Recordset1__interradio_2 = Request("kontaktfirma5b") End If %> <% Dim Recordset1__interradio_3 Recordset1__interradio_3 = "z" If (Request("kontaktfirma5c") <> "") Then Recordset1__interradio_3 = Request("kontaktfirma5c") End If %> <% Dim Recordset1__interradio_4 Recordset1__interradio_4 = "z" If (Request("kontaktfirma5d") <> "") Then Recordset1__interradio_4 = Request("kontaktfirma5d") End If %> <% Dim Recordset1__interradio_5 Recordset1__interradio_5 = "z" If (Request("kontaktfirma6a") <> "") Then Recordset1__interradio_5 = Request("kontaktfirma6a") End If %> <% Dim Recordset1__interradio_6 Recordset1__interradio_6 = "z" If (Request("kontaktfirma6b") <> "") Then Recordset1__interradio_6 = Request("kontaktfirma6b") End If %> <% Dim Recordset1__interradio_7 Recordset1__interradio_7 = "z" If (Request("kontaktfirma6c") <> "") Then Recordset1__interradio_7 = Request("kontaktfirma6c") End If %> <% Dim Recordset1__interradio_9 Recordset1__interradio_9 = "z" If (Request("kontaktfirma6d") <> "") Then Recordset1__interradio_9 = Request("kontaktfirma6d") End If %> <% Dim Recordset1__samarb1 Recordset1__samarb1 = "z" If (Request("samarbejde1") <> "") Then Recordset1__samarb1 = Request("samarbejde1") End If %> <% Dim Recordset1__samarb2 Recordset1__samarb2 = "z" If (Request("samarbejde2") <> "") Then Recordset1__samarb2 = Request("samarbejde2") End If %> <% Dim Recordset1__samarb3 Recordset1__samarb3 = "z" If (Request("samarbejde3") <> "") Then Recordset1__samarb3 = Request("samarbejde3") End If %> <% Dim Recordset1__samarb4 Recordset1__samarb4 = "z" If (Request("samarbejde4") <> "") Then Recordset1__samarb4 = Request("samarbejde4") End If %> <% Dim Recordset1__samarb5 Recordset1__samarb5 = "z" If (Request("samarbejde5") <> "") Then Recordset1__samarb5 = Request("samarbejde5") End If %> <% Dim Recordset1__samarb6 Recordset1__samarb6 = "z" If (Request("samarbejde6") <> "") Then Recordset1__samarb6 = Request("samarbejde6") End If %> <% Dim Recordset1__onsker Recordset1__onsker = "z" If (Request("ønsker") <> "") Then Recordset1__onsker = Request("ønsker") End If %>
<% set Recordset1 = Server.CreateObject("ADODB.Recordset") Recordset1.ActiveConnection = MM_firma_STRING Recordset1.Source = "SELECT * FROM firma WHERE Administrationsøkonom LIKE '%" + Replace(Recordset1__a, "'", "''") + "%' OR Byggetekniker LIKE '%" + Replace(Recordset1__c, "'", "''") + "%' or Datamatiker LIKE '%" + Replace(Recordset1__d, "'", "''") + "%' or EIntegrator LIKE '%" + Replace(Recordset1__e, "'", "''") + "%' or Finansøkonom LIKE '%" + Replace(Recordset1__f, "'", "''") + "%' or Laborant LIKE '%" + Replace(Recordset1__g, "'", "''") + "%' or Markedsføringsøkonom_Viborg LIKE '%" + Replace(Recordset1__h, "'", "''") + "%' or Markedsføringsøkonom_Thisted LIKE '%" + Replace(Recordset1__i, "'", "''") + "%' or Procesteknolog LIKE '%" + Replace(Recordset1__ge_1, "'", "''") + "%' or Produktionsteknolog LIKE '%" + Replace(Recordset1__fi_1, "'", "''") + "%' or navn LIKE '%" + Replace(Recordset1__oa_1, "'", "''") + "%' or adresse LIKE '%" + Replace(Recordset1__af_1, "'", "''") + "%' or postnr LIKE '%" + Replace(Recordset1__sf_1, "'", "''") + "%' or by LIKE '%" + Replace(Recordset1__p, "'", "''") + "%' or web LIKE '%" + Replace(Recordset1__fn_1, "'", "''") + "%' or telefon LIKE '%" + Replace(Recordset1__fnradio_1, "'", "''") + "%' or beskriv LIKE '%" + Replace(Recordset1__ku_1, "'", "''") + "%' or ønskerbeskriv LIKE '%" + Replace(Recordset1__kuradio_1, "'", "''") + "%' or eamvkontakt1 LIKE '%" + Replace(Recordset1__peradio_1, "'", "''") + "%' or eamvkontakt2 LIKE '%" + Replace(Recordset1__peradio_2, "'", "''") + "%' or eamvkontakt3 LIKE '%" + Replace(Recordset1__peradio_3, "'", "''") + "%' or eamvkontakt4 LIKE '%" + Replace(Recordset1__peradio_4, "'", "''") + "%' or eamvkontakt5 LIKE '%" + Replace(Recordset1__peradio_5, "'", "''") + "%' or eamvkontakt6 LIKE '%" + Replace(Recordset1__peradio_6, "'", "''") + "%' or eamvkontakt7 LIKE '%" + Replace(Recordset1__iktradio_1, "'", "''") + "%' or eamvkontakt8 LIKE '%" + Replace(Recordset1__iktradio_2, "'", "''") + "%' or eamvkontakt9 LIKE '%" + Replace(Recordset1__iktradio_3, "'", "''") + "%' or eamvkontakt10 LIKE '%" + Replace(Recordset1__iktradio_4, "'", "''") + "%' or givetlov LIKE '%" + Replace(Recordset1__iktradio_5, "'", "''") + "%' or kontaktfirma1a LIKE '%" + Replace(Recordset1__iktradio_6, "'", "''") + "%' or kontaktfirma1b LIKE '%" + Replace(Recordset1__iktradio_7, "'", "''") + "%' or kontaktfirma1c LIKE '%" + Replace(Recordset1__iktradio_8, "'", "''") + "%' or kontaktfirma1d LIKE '%" + Replace(Recordset1__iktradio_9, "'", "''") + "%' or kontaktfirma2a LIKE '%" + Replace(Recordset1__iktradio_10, "'", "''") + "%' or kontaktfirma2b LIKE '%" + Replace(Recordset1__ud_1, "'", "''") + "%' or kontaktfirma2c LIKE '%" + Replace(Recordset1__ud_2, "'", "''") + "%' or kontaktfirma2d LIKE '%" + Replace(Recordset1__ud_3, "'", "''") + "%' or kontaktfirma3a LIKE '%" + Replace(Recordset1__ud_4, "'", "''") + "%' or kontaktfirma3b LIKE '%" + Replace(Recordset1__ud_5, "'", "''") + "%' or kontaktfirma3c LIKE '%" + Replace(Recordset1__projektradio_1, "'", "''") + "%' or kontaktfirma3d LIKE '%" + Replace(Recordset1__projektradio_2, "'", "''") + "%' or kontaktfirma4a LIKE '%" + Replace(Recordset1__projektradio_3, "'", "''") + "%' or kontaktfirma4b LIKE '%" + Replace(Recordset1__projektradio_4, "'", "''") + "%' or kontaktfirma4c LIKE '%" + Replace(Recordset1__projektrolleradio_1, "'", "''") + "%' or kontaktfirma4d LIKE '%" + Replace(Recordset1__projektrolleradio_2, "'", "''") + "%' or kontaktfirma5a LIKE '%" + Replace(Recordset1__interradio_1, "'", "''") + "%' or kontaktfirma5b LIKE '%" + Replace(Recordset1__interradio_2, "'", "''") + "%' or kontaktfirma5c LIKE '%" + Replace(Recordset1__interradio_3, "'", "''") + "%' or kontaktfirma5d LIKE '%" + Replace(Recordset1__interradio_4, "'", "''") + "%' or kontaktfirma6a LIKE '%" + Replace(Recordset1__interradio_5, "'", "''") + "%' or kontaktfirma6b LIKE '%" + Replace(Recordset1__interradio_6, "'", "''") + "%' or kontaktfirma6c LIKE '%" + Replace(Recordset1__interradio_7, "'", "''") + "%' or kontaktfirma6d LIKE '%" + Replace(Recordset1__interradio_9, "'", "''") + "%' or samarbejde1 LIKE '%" + Replace(Recordset1__samarb1, "'", "''") + "%' or samarbejde2 LIKE '%" + Replace(Recordset1__samarb2, "'", "''") + "%' or samarbejde3 LIKE '%" + Replace(Recordset1__samarb3, "'", "''") + "%' or samarbejde4 LIKE '%" + Replace(Recordset1__samarb4, "'", "''") + "%' or samarbejde5 LIKE '%" + Replace(Recordset1__samarb5, "'", "''") + "%' or samarbejde6 LIKE '%" + Replace(Recordset1__samarb6, "'", "''") + "%' or ønsker LIKE '%" + Replace(Recordset1__onsker, "'", "''") + "%' ORDER BY navn" Recordset1.CursorType = 0 Recordset1.CursorLocation = 2 Recordset1.LockType = 1 Recordset1.Open()
Recordset1_numRows = 0 %> <% Dim Repeat1__numRows Dim Repeat1__index
Repeat1__numRows = -1 Repeat1__index = 0 Recordset1_numRows = Recordset1_numRows + Repeat1__numRows %> <% ' *** Recordset Stats, Move To Record, and Go To Record: declare stats variables
Dim Recordset1_total Dim Recordset1_first Dim Recordset1_last
' set the record count Recordset1_total = Recordset1.RecordCount
' set the number of rows displayed on this page If (Recordset1_numRows < 0) Then Recordset1_numRows = Recordset1_total Elseif (Recordset1_numRows = 0) Then Recordset1_numRows = 1 End If
' set the first and last displayed record Recordset1_first = 1 Recordset1_last = Recordset1_first + Recordset1_numRows - 1
' if we have the correct record count, check the other stats If (Recordset1_total <> -1) Then If (Recordset1_first > Recordset1_total) Then Recordset1_first = Recordset1_total End If If (Recordset1_last > Recordset1_total) Then Recordset1_last = Recordset1_total End If If (Recordset1_numRows > Recordset1_total) Then Recordset1_numRows = Recordset1_total End If End If %>
<% ' *** Recordset Stats: if we don't know the record count, manually count them
If (Recordset1_total = -1) Then
' count the total records by iterating through the recordset Recordset1_total=0 While (Not Recordset1.EOF) Recordset1_total = Recordset1_total + 1 Recordset1.MoveNext Wend
' reset the cursor to the beginning If (Recordset1.CursorType > 0) Then Recordset1.MoveFirst Else Recordset1.Requery End If
' set the number of rows displayed on this page If (Recordset1_numRows < 0 Or Recordset1_numRows > Recordset1_total) Then Recordset1_numRows = Recordset1_total End If
' set the first and last displayed record Recordset1_first = 1 Recordset1_last = Recordset1_first + Recordset1_numRows - 1
If (Recordset1_first > Recordset1_total) Then Recordset1_first = Recordset1_total End If If (Recordset1_last > Recordset1_total) Then Recordset1_last = Recordset1_total End If
Forslag - skal vi ikke koge det ned til en simpel demo af principperne? Så kan du selv lave den færdige løsning. Ellers drukner løsningen bare i kode som der ikke er nogen som kan få hoved eller hale i.
yesyes det vigtigste er vel der hvor søgningen udskrives: <% While ((Repeat1__numRows <> 0) AND (NOT Recordset1.EOF)) %> <tr> <td><a href="vis.asp?id=<%=(Recordset1.Fields.Item("id").Value)%>" class="A1"><%=(Recordset1.Fields.Item("navn").Value)%></a></td> <td class="indhold" >
Den kode skal udvides med nogle checkbokse - en for hver post - sådan at dine brugere kan krydse af hvilke poster der skal med. Det er vigtigt at man efterfølgende kan finde tabel-id'et for posterne.
Det er selvfølgelig en mulighed at bruge id'et som navnet for checkboksene, men jeg ville nu alligevel selv tilføje lidt mere på navnet sådan at de kan skelnes fra andre input-felter i formen:
der er kun rækkerne med navne + én checkbox ??? nu er alle listet med en checkbox Når der klikkes på submit: alle oplysninger ind i et Array??? --> gem fil
??? Håber du gider at hjælpe for jeg skal have det færdigt snarest, øv.
Når formen submittes kan du se hvilke poster der skal med ved at spørge:
IdStr = ""
For Id=MinId To MaxId If Request.Form("Post_" & Id) = "on" Then If IdStr <> "" Then IdStr = IdStr & "," IdStr = IdStr & Id End If Next
Du må så selv finde ud af hvordan du får fat på de to værdier dom der skal ind i MinId og MaxId; Enten kan du simpelthen hardcode det eller alternativt kan du hive dem ud af din database med:
SELECT Min(id) AS MinId, Max(id) AS MaxId FROM dinTabel
Når du så har hentet værdierne fra din form, kan du efterfølgende hente de poster ud af tabellen, som skal skrives til CSV-filen, via denne variation på din SQL:
SQL = "SELECT * FROM dinTabel WHERE id IN (" & IdStr & ")"
... så er næste trin at finde ud af om du overhovedet kan få lov til at skrive tekst-filer. Dette du afprøve med denne kode:
<% dim fs, fname set fs = Server.CreateObject("Scripting.FileSystemObject") set fname = fs.CreateTextFile("c:\test.txt", true) fname.WriteLine("Hello World!") fname.Close set fname = nothing set fs = nothing %>
- hvor du selvfølgeligt skal rette i filstien sådan at den passer for dit tilfælde.
Når du har udført den der kode (husk nu at tilrette tabel-navnet og dine felt-navne), så burde du have dig en fil som hedder text.csv liggende i roden at C-drevet. Har du det?
skal lige forstå det: For Id=MinId To MaxId If Request.Form("Post_" & Id) = "on" Then If IdStr <> "" Then IdStr = IdStr & "," IdStr = IdStr & Id End If Next
hvor kommer det der = "on" fra?? Er dette rigtigt forstået: fra formularen kommer der en hel masse id´er fra checkboksene Disse skal skrives ud i et array på Udskriv.asp så man kan tage værdierne og smide ind i en søgning???
Værdien "on" er den som en chcekboks returnere hvis den er afkrydset. Hvis den ikke er dette, så kommer der slet ikke noget fra den (ikke en gang et "off"),
Korrekt - der kommer en masse id'er fra formen - men altså kun på de checkkokse som er hakket af. Løkken løber igennem de *mulige* id'er og set hvilke som er repræsenteret i det aktuelle tilfælde. Disse lægges så i IdStr-variablen.
Denne kommer til at se nogenlunde sådan her ud:
1,3,6,54,55
- hvis der er krydset af i de ckekbokse som hører til tabel-id'erene 1, 3, 6, 54 og 55. Dette bliver så til denne her SQL:
SELECT * FROM firma WHERE id IN (1,3,6,54,55)
- og den trækker netop disse poster ud af tabellen.
For Id=MinId To MaxId If Request.Form("Post_" & Id) = "on" Then If IdStr <> "" Then IdStr = IdStr & "," IdStr = IdStr & Id End If Next
dim fs, fname set fs = Server.CreateObject("Scripting.FileSystemObject") set fname = fs.CreateTextFile("D:\EAMV\eamvweb\firma\test.txt", true)
set Recordset1 = Server.CreateObject("ADODB.Recordset") Recordset1.ActiveConnection = MM_firma_STRING Recordset1.Source = "SELECT * FROM firma WHERE id IN (" & IdStr & ")" Recordset1.Open()
Do While Not rs.EOF Linje = rs("id") & ";" & rs("navn") & ";" & rs("adresse") & ";" &rs("postnr")
fname.WriteLine(Linje)
rs.MoveNext Loop
fname.Close set fname = nothing set fs = nothing %>
Den giver følgende fejlmelding:
Microsoft JET Database Engine (0x80040E14) Der er en syntaksfejl, fordi der mangler en operator. i forespørgselsudtrykket "id IN ()".
Det lader jo til at der ikke kommer noget i IdStr-variablen overhovedet. Umiddelbart vil jeg gætte på at det skyldes at du ikke får sat MinId og MaxId til noget?
Som sagt skal du enten hardcode disse to værdier, eller du skal hente dem ud fra databasen. Dette gøres med denne SQL:
SELECT Min(id) AS MinId, Max(id) AS MaxId FROM dinTabel
<% set Recordset0 = Server.CreateObject("ADODB.Recordset") Recordset0.ActiveConnection = MM_firma_STRING Recordset0.Source = "SELECT Min(id) AS MinId, Max(id) AS MaxId FROM firma" Recordset0.Open()
IdStr = ""
For Id=MinId To MaxId If Request.Form("Post_" & Id) = "on" Then If IdStr <> "" Then IdStr = IdStr & "," IdStr = IdStr & Id End If Next
dim fs, fname set fs = Server.CreateObject("Scripting.FileSystemObject") set fname = fs.CreateTextFile("D:\EAMV\eamvweb\firma\test.txt", true)
set Recordset1 = Server.CreateObject("ADODB.Recordset") Recordset1.ActiveConnection = MM_firma_STRING Recordset1.Source = "SELECT * FROM firma WHERE id IN (" + IdStr + ")" Recordset1.Open()
Do While Not rs.EOF Linje = Recordset1.Fields.Item("id").Value & ";" & Recordset1.Fields.Item("navn").Value) & ";" & Recordset1.Fields.Item("adresse").Value) & ";" & Recordset1.Fields.Item("postnr").Value
fname.WriteLine(Linje)
rs.MoveNext Loop
fname.Close set fname = nothing set fs = nothing %>
giver fejl: Der opstod en Microsoft VBScript-kompileringsfejl (0x800A0401) Slut på sætning var ventet /wwweamv/firma/skriv.asp, line 41, column 87 Linje = Recordset1.Fields.Item("id").Value & ";" & Recordset1.Fields.Item("navn").Value) & ";" & Recordset1.Fields.Item("adresse").Value) & ";" & Recordset1.Fields.Item("postnr").Value
Du mangler lige at trække værdierne ud og sætte variablene:
set Recordset0 = Server.CreateObject("ADODB.Recordset") Recordset0.ActiveConnection = MM_firma_STRING Recordset0.Source = "SELECT Min(id) AS MinId, Max(id) AS MaxId FROM firma" Recordset0.Open()
okay: Der er en syntaksfejl, fordi der mangler en operator. i forespørgselsudtrykket "id IN ()". data som bliver postet er: POST Data: Post_10++checked%3D=on&Post_7++checked%3D=on&Post_5++checked%3D=on&Post_19++checked%3D=on&Post_9++checked%3D=on&Post_23++checked%3D=on&Post_8++checked%3D=on&Post_11++checked%3D=on&Post_14++checked%3D= . . .
det er vel derfor variablen ikke kan findes??
checkboksen ser sådan ud: <input type="checkbox" name="Post_<%=(Recordset1.Fields.Item("id").Value)%> checked="checked">
og nu: DET VIRKER!!!!!!!!!!!!!!!!! Du er godtnok skideskrap!! Men jeg har stadig brug for dit hoved: Nu ligger text-filen så venter på download - det gør jeg vel bare med et link til filen. Men nu mens denne fil venter, så kommer der en anden bruger og laver en text-fil - så er den første borte Hvad kan man gøre for at undgå dette???
Fik en ide: jeg har i forvejen en session("USER") så hvad med at tilføje brugerens navn: dim fs, fname, a, b a = Request(Session("user")) b = "D:\EAMV\eamvweb\firma\" & a & "test.txt" set fs = Server.CreateObject("Scripting.FileSystemObject") set fname = fs.CreateTextFile(b, true)
og sætte linket til: <a href=" <% a %> & "test.txt" target="_blank">Download fil lavet af <% Response.Write(Session("user")) %></a>
men det virker sgu ikke, øv Den skriver fint brugerens navn i linket, men filen gemmes altid som text.txt
Må man spørge dig om en ide??? Hvis nu de ønsker at gemme disse udskrifter, kunne man så ikke tage filnavnet+bruger+dato og smide i en database - det ville vel være en bedre service???
Om det er en bedre service kan jeg jo ikke rigtigt svare på - jeg kender ikke dine brugere eller ved hvordan de bruger systemet. Men hvis de har brug for den samme liste en gang til så kan de jo bare vælge at beholde CSV-filen.
Men, måske ville de foretrække at deres valg fra "forrige gang" var forvalgt når de går ind på formularen igen. Hvis dine brugere sidder ved den samme PC, ville jeg nok personligt vælge at implementere dette via en cookie i stedet for at gemme det i databasen.
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.