16. april 2004 - 15:27Der er
23 kommentarer og 1 løsning
Handlingen skal bruge en opdaterbar forespørgsel
Hejsa,
Jeg får følgende fejl når jeg køre koden nedenfor :
Fejltype: Microsoft OLE DB Provider for ODBC Drivers (0x80004005) [Microsoft][ODBC Excel-driver] Handlingen skal bruge en opdaterbar forespørgsel. /Conset/excel.asp, line 34
Her kommer koden :
Dim Conn Set Conn = CreateObject("ADODB.Connection") With Conn .Open "DRIVER=Microsoft Excel Driver (*.xls);" & "DriverId=790;" & "DBQ=d:\Udvikling\Conset\Data\Test.xls" End With Response.Write "Excel Åbnet<br>"
Hvad siger den hvis du ændrer din sql til: Sql = "Update ExcelTest Set BaseModul = '"&V2&"', bLength = "&V3&", bWidth = "&V4&", bCorner = "&V5&" Where TableId = "&V1&""
1. Åbn denne computer 2. Klik på menupunktet Funktioner 3. Mappeindstillinger 4. Klik på fanen Vis 5. Fjern flueben i "Brug Enkel Fildelign" så får du adgang til en fane der hedder sikkerhed, som du skal bruge om lidt.
1. Højreklik på mappen hvor databasen ligger 2. Vælg egenskaber 3. Klik på fanen sikkerhed giv her IUSR_xx skriverettigheder.
Eagleeye >> jeg har sat IUSER til fuld kontrol men den kommer stadig med samme fejl og det er på Excel regnearket og på mappen jeg har gjort det begge steder
Jeg kan ikke få den connection du bruger til at virke prøv at rette den
Set Conn = CreateObject("ADODB.Connection") With Conn .Open "DRIVER=Microsoft Excel Driver (*.xls);" & "DriverId=790;" & "DBQ=d:\Udvikling\Conset\Data\Test.xls" End With
Til dette:
connStr = "Provider=Microsoft.Jet.OLEDB.4.0;" connStr = connStr & "Data Source=d:\Udvikling\Conset\Data\Test.xls;" connStr = connStr & "Extended Properties=""Excel 8.0;HDR=Yes;"";" Set Conn = CreateObject("ADODB.Connection") With Conn Conn.Open connStr End With
Har det nogen betydning hvilken udgave af excel jeg bruger ? Det skulle jo blot ikke betyde noget alt efter hvad jeg har læst mig frem til :o)
Men hvis jeg benytter denne :
With Conn .Provider = "Microsoft.Jet.OLEDB.4.0" .ConnectionString = "Data Source=d:\Udvikling\Conset\Data\Test.xls; Extended Properties=Excel 8.0;" .Open End With
Så melder den ingen fejl men den opdatere ikke i regnearket og dt undre mig en smule ?
Fejltype: Microsoft JET Database Engine (0x80004005) Den installerbare ISAM kan ikke findes. /conset/excel.asp, line 11
Linie 11 er denne :
.Open
Har lavet connection som følger :
With Conn .Provider = "Microsoft.Jet.OLEDB.4.0" .ConnectionString = "Data Source=d:\Udvikling\Conset\Data\Test.xls; Extended Properties=Excel 8.0;HDR=Yes;"";" .Open End With
hmm jeg har prøvet din kode og det virker fint. Den opdatere det ganske fint. Har du markeret hele det området der er data i, også selv posterne og givet det navnet ExcelTest ?
Ja det hele føste gang, hvis den selv skriver posterne ind skal de navn gives med føste gang. BRuger du INSERT INTO SQL skulle excel selv udvide området automatisk. Det område afgrænser "tabellen" inde i arket.
Jo men den er meget simpel. i A1 står der TableID i B1 står der BaseMdul i C1 står der bLength i D1 står der bWidth i E1 står der bCorner i A2 står der 1 i B2 står der aaa i C2 står der bbb i D2 står der ccc i E2 står der ddd
Så markere jeg området A1->E2 med musen og vælger menuen Indsæt->Navn->Definer og skriver ExcelTest. Man skal skrive kolonnenavnet i første kolonne, og det som HDR=Yes betyder er at den bruger første "post" indhold som kolonnenavne.
Området svare til begrænse tabellen størrelse, sådan den kun henter alle de poster som er inde i området ud og ikke uendeligt mange med tomt indhold.
Du kunne markere første linje og givet nanvet til området, og så indsætte data via SQL insert into ExeclText (TableId, ...) så vil excel selv udvide område med en post sdåan den er med i tabellen. Skriver du selv posten ind i excel arket er man også selv nød til at lave området.
Ja man kan nøjes med kun at opdater enkelte kolonner, som med en database, eks hvis du kun ville opdatere den sidste kolonne F5, så ville SQL sætningen se sådan her ud:
Sql = "Update ExcelTest Set "&F5&" = "&V5&" Where "&F1&" = "&V1&""
Kanon så er jeg godt på vej ikke forde jeg ska lbruge Excel til database der bruger jeg mssql og mysql men til et lidt sjovt projekt hvor det er nødvendigt med Excel :o)
/Websam
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.