Avatar billede l_otto Nybegynder
25. februar 2004 - 15:22 Der er 6 kommentarer og
1 løsning

update - overwrite et excel ark..

jeg laver en søgning og resultate sættes fint ind i mit excel ark "test.xls"

problemmer er at hvis der vises 10 personer ved første søgning.. står de fra felt 1 - 10

laver jeg den samme søgning lige efter kommer de næste til at stå fra felt 10-20 ikke fra 1-10.

Men andre ord den skal overwrite udate hvergang...

her er 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;"";"




' 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='semedarb.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
Avatar billede powell Nybegynder
25. februar 2004 - 16:41 #1
I denne artikel beskrives hvordan man bruger excel via ado.
Her nævnes blandt andet en CursorLocation, jeg vil tro det er den du skal bruge:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnasdj01/html/asp0193.asp

En mulighed ville også være at lukke excel arket ned efter brugen, men det er vel knap så sjovt.
Avatar billede l_otto Nybegynder
26. februar 2004 - 15:32 #2
der står kun noget med select * ikke noget med at overskrive ...... eller update..
Avatar billede powell Nybegynder
26. februar 2004 - 15:51 #3
Avatar billede l_otto Nybegynder
26. februar 2004 - 15:56 #4
strQuery = "SELECT * FROM [Island$] ORDER BY Name"

der er ikke lige den kode jeg leder efter... jeg skriver til excel arket og når jeg så skal skrive til det igen skal det overwrite det der står der i for vejen.. jeg skal ikke hente noget fra det
Avatar billede powell Nybegynder
26. februar 2004 - 16:00 #5
I rutinen hvor de går ind og henter, da peger de jo på de værdier i de felter de vil hente.

Der tror jeg at du skal pege på felt nr. 1 inden du kaster data ind i excel arket, derved bør den jo automatisk overkrive de værdier der står der.

Måske skal du pege på felt nummer 1, og overskrive med blanke data, inden du overfører nye data.

Check .cursorLocation

With adoCn
    .Provider = "Microsoft.Jet.OLEDB.4.0"
    .ConnectionString = _
        "Data Source=d:\ExcelAdo\Island.xls;" & _
        "Extended Properties=Excel 8.0;"
    .CursorLocation = adUseClient
    .Open
End With
Avatar billede powell Nybegynder
26. februar 2004 - 16:18 #6
Avatar billede l_otto Nybegynder
26. februar 2004 - 16:27 #7
ok jeg kigger på det ..
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