webForumDet fria alternativet

VBA programmering med databas

11 svar · 513 visningar · startad av Addeladde

AddeladdeMedlem sedan jan. 20013 406 inlägg
#1

Hej

Jag har ett Worddokument som jag skulle vilja plocka info från en databas. Har testat lite med databasimport som finns i Word men då får man in hela tabellen.

Jag vill loopa igenom ett recordsett och välja själv hur jag skriver ut de olika fälten i datbasen.

Någon som vet hur man gör detta?

yohpopsMedlem sedan feb. 20011 198 inlägg
#2

Du kan exempelvis skapa en funktion i word som hämtar datat med en adodb connection.

AddeladdeMedlem sedan jan. 20013 406 inlägg
#3

Har försökt med det men får det inte att fungera.
Får felmedelanden vid kompilering på adodb raden.

Någon som har ett exempel?

yohpopsMedlem sedan feb. 20011 198 inlägg
#4

Vad får du för fel, hur ser koden ut?

AddeladdeMedlem sedan jan. 20013 406 inlägg
#5

Just nu har jag ingen kod har raderat alla kodexmpel som jag prövat när de inte fungerat.

AddeladdeMedlem sedan jan. 20013 406 inlägg
#6

Skulle man inte kunna göra följande fast med VBA kod på nått liknande sätt?


Set con = Server.CreateObject("ADODB.Connection")
con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\databas.mdb"

sqlString = "SELECT * " &_
  "FROM produkter " &_
  "ORDER BY produktNamn"
SET produkterRS = Con.Execute( sqlString )

While Not produkterRS.Eof

  Response.write produkterRS("prodktNamn")
  Reponse.write "<br>"

  produkterRS.MoveNext
Wend

produkterRS.Close : Set produkterRS = Nothing
Con.Close : Set Con = Nothing
yohpopsMedlem sedan feb. 20011 198 inlägg
#7

Prova detta.

i=1
While Not produkterRS.Eof

Range("A" + i).value= produkterRS("prodktNamn")
i=i+1

  produkterRS.MoveNext
Wend
AddeladdeMedlem sedan jan. 20013 406 inlägg
#8

Denna kod fungerar inte.

Set con = Server.CreateObject("ADODB.Connection")
con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\databas.mdb"

sqlString = "SELECT * " &_
  "FROM produkter " &_
  "ORDER BY produktNamn"
SET produkterRS = Con.Execute( sqlString )
yohpopsMedlem sedan feb. 20011 198 inlägg
#9

Ändra.
Set con = Server.CreateObject("ADODB.Connection")
till
Set con = CreateObject("ADODB.Connection")

AddeladdeMedlem sedan jan. 20013 406 inlägg
#10

Nu får jag felmeddelande på den markerade raden.

Dim con
  Dim sqlString
  Dim produkterRS

  Set con = CreateObject("ADODB.Connection")
  con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\Jobb\Swisstime\Webbsidan\webiceradb.mdb"

  sqlString = "SELECT produktNamn FROM produkt ORDER BY produktNamn"
  [b]Set produkterRS = con.Execute(sqlString)[/b]

  While Not produkterRS.EOF

    Selection.TypeText Text:=produkterRS("prodktNamn")
    Selection.TypeParagraph
    Selection.TypeParagraph

    produkterRS.MoveNext
  Wend
  con.Close
  produkterRS.Close

No value given for one or more required parameter

@ndersMedlem sedan juni 200032 969 inlägg
#11

Heter tabellen Produkt eller Produkter? Felmeddelandet tolkar jag som att tabell- eller fältnamn är fel i frågan.

AddeladdeMedlem sedan jan. 20013 406 inlägg
#12

Japp det var ett felaktigt fältnamn. Skulle varit produkt_namn istället för produktNamn.

Nu fungerar det.

130 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)