Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Vb 2013 och accessdatabas

Postades av 2014-05-09 22:47:58 - Ronnie Wiklund, i forum vb.net, Tråden har 5 Kommentarer och lästs av 2608 personer

Jag har bara programmerat i vb6 och det har fungerat bra för mig tills jag bytte operativ till Windows 8
Har insett att vb6 är förlegat, och måste lära mig vb.net (2013)
Men kan någon visa mig en artikel eller skriva hur man kopplar vb.net mot en accessdatabas (2010) med endast kod
tydligen ska man även göra imports av data "Imports System.Data.OleDb" var gör man lämpligast det i en modul eller?
tyckte jag kunde vb6 hyfsat men nu är jag en riktigt nybörjare och känner att jag måste börja om från början


Svara

Sv: Vb 2013 och accessdatabas

Postades av 2014-05-11 18:24:32 - Pelle Johansson

Hej, det ligger liknande artiklar här på pellesoft om det.
http://www.pellesoft.se/article/364/intro-till-adonet-for-ado-programmerare kanske är en start

//Pelle


Svara

Sv:Vb 2013 och accessdatabas

Postades av 2014-05-28 21:11:26 - Ronnie Wiklund

Tackar så mycket
jag har kollat runt och löste det så här
gjorde en modul där jag la in

Public con As New OleDb.OleDbConnection
Public dbProvider As String
Public dbSource As String
Public ds As New DataSet
Public da As OleDb.OleDbDataAdapter
Public sql As String
Public cb As New OleDb.OleDbCommandBuilder(da)

och sen i formulärets load funktion la jag in

dbProvider = "Provider=Microsoft.ACE.OLEDB.12.0;"
dbSource = "Data Source=T:\Visual Studio 2013\RwAdressbok2014\RwAdressbok2014\Rwadress.accdb"
con.ConnectionString = dbProvider & dbSource
con.Open()
sql = "SELECT * from Person"
da = New OleDb.OleDbDataAdapter(sql, con)
da.Fill(ds, "Rwadress")
con.Close()
TotAntalRader = ds.Tables("Rwadress").Rows.Count

sen om det är rätt har jag ingen aning om men det fungerar


Svara

Sv: Vb 2013 och accessdatabas

Postades av 2014-05-29 09:15:47 - Pelle Johansson

Bra gjort Ronnie att du fick ihop det. Lycka till!


Svara

Sv:Vb 2013 och accessdatabas

Postades av 2014-05-30 18:55:43 - Ronnie Wiklund

ja, men nu har jag problem igen, har fått till allt utom just att uppdatera posten, funkar bra att navigera runt samt att skapa ny post men inte att uppdatera, förstår inte var problemet är, har följt den här guiden http://www.homeandlearn.co.uk/NET/nets12p4.html
och när jag skrev av den så fungerade det, men då jag gjorde mitt eget program så fungerade inte update funktionen

så här ser den ut, stannar på näst sista raden: da.Update(ds, "Rwadress") då den säger så här "Additional information: Dynamisk SQL-generering för UpdateCommand stöds inte gentemot ett SelectCommand som inte returnerar information om nyckelkolumn."

så den verkar inte veta vilken post den ska uppdater?

Private Sub btnUppdatera_Click(sender As Object, e As EventArgs) Handles btnUppdatera.Click

If AktuellPost < 0 Then Exit Sub

If boolNyPost = True Then
Call SkapaNyPost()
Exit Sub
End If

Dim cb As New OleDb.OleDbCommandBuilder(da)

ds.Tables("Rwadress").Rows(AktuellPost).Item("Fornamn") = txtFornamn.Text
ds.Tables("Rwadress").Rows(AktuellPost).Item("Efternamn") = txtEfternamn.Text
ds.Tables("Rwadress").Rows(AktuellPost).Item("Postadress") = txtGatuadress.Text
ds.Tables("Rwadress").Rows(AktuellPost).Item("Postnummer") = txtPostnummer.Text
ds.Tables("Rwadress").Rows(AktuellPost).Item("Ort") = txtOrt.Text
ds.Tables("Rwadress").Rows(AktuellPost).Item("Födelsedatum") = txtFodelsedatum.Text
ds.Tables("Rwadress").Rows(AktuellPost).Item("Epostadress") = txtEpostadress.Text
ds.Tables("Rwadress").Rows(AktuellPost).Item("TeleNr1") = txtTelenr1.Text
ds.Tables("Rwadress").Rows(AktuellPost).Item("TeleNr2") = txtTelenr2.Text
ds.Tables("Rwadress").Rows(AktuellPost).Item("Anteckningar") = txtAnteckningar.Text
da.Update(ds, "Rwadress")
End Sub


skickar med hela programmet om det hjälper någon att hjälpa mig

Public Class Form1


Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

dbProvider = "Provider=Microsoft.ACE.OLEDB.12.0;"
dbSource = "Data Source=T:\Visual Studio 2013\RwAdressbok2014\RwAdressbok2014\Rwadress.accdb"


Dim Screen As System.Drawing.Rectangle
Screen = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea()
Me.Top = (Screen.Height \ 2) - (Me.Height \ 2)
Me.Left = (Screen.Width \ 2) - (Me.Width \ 2)



con.ConnectionString = dbProvider & dbSource
con.Open()
sql = "SELECT * from Person"
da = New OleDb.OleDbDataAdapter(sql, con)
da.Fill(ds, "Rwadress")
con.Close()
TotAntalRader = ds.Tables("Rwadress").Rows.Count

Call Init()
Call Knappar(Knappstatus)
NavigateRecords()



End Sub
Private Sub NavigateRecords()
Dim cb As New OleDb.OleDbCommandBuilder(da)


If IsDBNull(ds.Tables("Rwadress").Rows(AktuellPost).Item("Fornamn")) = False Then
lblFornamn.Text = ds.Tables("Rwadress").Rows(AktuellPost).Item("Fornamn")
End If
If IsDBNull(ds.Tables("Rwadress").Rows(AktuellPost).Item("Efternamn")) = False Then
lblEfternamn.Text = ds.Tables("Rwadress").Rows(AktuellPost).Item("Efternamn")
End If
If IsDBNull(ds.Tables("Rwadress").Rows(AktuellPost).Item("Postadress")) = False Then
lblGatuadress.Text = ds.Tables("Rwadress").Rows(AktuellPost).Item("Postadress")
End If
If IsDBNull(ds.Tables("Rwadress").Rows(AktuellPost).Item("Postnummer")) = False Then
lblGatuadress.Text = ds.Tables("Rwadress").Rows(AktuellPost).Item("Postnummer")
End If
If IsDBNull(ds.Tables("Rwadress").Rows(AktuellPost).Item("Ort")) = False Then
lblOrt.Text = ds.Tables("Rwadress").Rows(AktuellPost).Item("Ort")
End If
If IsDBNull(ds.Tables("Rwadress").Rows(AktuellPost).Item("Födelsedatum")) = False Then
LblFodelsedatum.Text = ds.Tables("Rwadress").Rows(AktuellPost).Item("Födelsedatum")
End If
If IsDBNull(ds.Tables("Rwadress").Rows(AktuellPost).Item("Epostadress")) = False Then
LblFodelsedatum.Text = ds.Tables("Rwadress").Rows(AktuellPost).Item("Epostadress")
End If
If IsDBNull(ds.Tables("Rwadress").Rows(AktuellPost).Item("TeleNr1")) = False Then
lblTeleNr1.Text = ds.Tables("Rwadress").Rows(AktuellPost).Item("TeleNr1")
End If
If IsDBNull(ds.Tables("Rwadress").Rows(AktuellPost).Item("TeleNr2")) = False Then
lblTeleNr2.Text = ds.Tables("Rwadress").Rows(AktuellPost).Item("TeleNr2")
End If
If IsDBNull(ds.Tables("Rwadress").Rows(AktuellPost).Item("Anteckningar")) = False Then
lblAnteckningar.Text = ds.Tables("Rwadress").Rows(AktuellPost).Item("Anteckningar")
End If

da.Update(ds, "Rwadress")


End Sub

Private Sub btnNasta_Click(sender As Object, e As EventArgs) Handles btnNasta.Click


If AktuellPost <> TotAntalRader - 1 Then
AktuellPost = AktuellPost + 1
NavigateRecords()
Else
MsgBox("no more rows")


End If

End Sub

Private Sub btnForegaende_Click(sender As Object, e As EventArgs) Handles btnForegaende.Click


If AktuellPost > 0 Then
AktuellPost = AktuellPost - 1
NavigateRecords()
ElseIf AktuellPost = -1 Then
MsgBox("No records yet")

ElseIf AktuellPost = 0 Then
MsgBox("First record")


End If

End Sub

Private Sub btnForsta_Click(sender As Object, e As EventArgs) Handles btnForsta.Click

If AktuellPost <> 0 Then
AktuellPost = 0
NavigateRecords()

End If

End Sub

Private Sub btnSista_Click(sender As Object, e As EventArgs) Handles btnSista.Click


If AktuellPost <> TotAntalRader - 1 Then
AktuellPost = TotAntalRader - 1
NavigateRecords()
End If

End Sub

Private Sub btnNyPost_Click(sender As Object, e As EventArgs) Handles btnNyPost.Click

boolNyPost = True
HoldAktuellPost = AktuellPost
Call Knappar(False)
Call lblToText(True)




End Sub
Private Sub Init()
AktuellPost = 0
Knappstatus = True
boolVisaLbl = True


End Sub
Private Sub Knappar(Knappstatus)

btnForsta.Enabled = knappstatus
btnForegaende.Enabled = knappstatus
btnNasta.Enabled = knappstatus
btnSista.Enabled = knappstatus

btnNyPost.Enabled = knappstatus
btnUppdatera.Enabled = Not knappstatus
btnAndra.Enabled = knappstatus
btnRadera.Enabled = knappstatus
btnAvbryt.Enabled = Not knappstatus

End Sub
Private Sub lblToText(boolVisaLbl)

' boolVisaLbl=true visar textfälten

'flytta txt fälten till samma position som lbl fälten, dölj lblfälten

lblFornamn.Visible = Not boolVisaLbl
lblEfternamn.Visible = Not boolVisaLbl
lblGatuadress.Visible = Not boolVisaLbl
lblPostnummer.Visible = Not boolVisaLbl
lblOrt.Visible = Not boolVisaLbl
LblFodelsedatum.Visible = Not boolVisaLbl
lblEpostadress.Visible = Not boolVisaLbl
lblTeleNr1.Visible = Not boolVisaLbl
lblTeleNr2.Visible = Not boolVisaLbl
lblAnteckningar.Visible = Not boolVisaLbl

txtFornamn.Visible = boolVisaLbl
txtEfternamn.Visible = boolVisaLbl
txtGatuadress.Visible = boolVisaLbl
txtPostnummer.Visible = boolVisaLbl
txtOrt.Visible = boolVisaLbl
txtFodelsedatum.Visible = boolVisaLbl
txtEpostadress.Visible = boolVisaLbl
txtTelenr1.Visible = boolVisaLbl
txtTelenr2.Visible = boolVisaLbl
txtAnteckningar.Visible = boolVisaLbl

If boolVisaLbl = True Then
txtFornamn.Bounds = lblFornamn.Bounds
txtEfternamn.Bounds = lblEfternamn.Bounds
txtGatuadress.Bounds = lblGatuadress.Bounds
txtPostnummer.Bounds = lblPostnummer.Bounds
txtOrt.Bounds = lblOrt.Bounds
txtFodelsedatum.Bounds = LblFodelsedatum.Bounds
txtEpostadress.Bounds = lblEpostadress.Bounds
txtTelenr1.Bounds = lblTeleNr1.Bounds
txtTelenr2.Bounds = lblTeleNr2.Bounds
txtAnteckningar.Bounds = lblAnteckningar.Bounds
End If
If boolVisaLbl = False Then
lblFornamn.Bounds = txtFornamn.Bounds
lblEfternamn.Bounds = txtEfternamn.Bounds
lblGatuadress.Bounds = txtGatuadress.Bounds
lblPostnummer.Bounds = txtPostnummer.Bounds
lblOrt.Bounds = txtOrt.Bounds
LblFodelsedatum.Bounds = txtFodelsedatum.Bounds
lblEpostadress.Bounds = txtEpostadress.Bounds
lblTeleNr1.Bounds = txtTelenr1.Bounds
lblTeleNr2.Bounds = txtTelenr2.Bounds
lblAnteckningar.Bounds = txtAnteckningar.Bounds
End If


End Sub


Private Sub btnUppdatera_Click(sender As Object, e As EventArgs) Handles btnUppdatera.Click

If AktuellPost < 0 Then Exit Sub

If boolNyPost = True Then
Call SkapaNyPost()
Exit Sub
End If

Dim cb As New OleDb.OleDbCommandBuilder(da)

ds.Tables("Rwadress").Rows(AktuellPost).Item("Fornamn") = txtFornamn.Text
ds.Tables("Rwadress").Rows(AktuellPost).Item("Efternamn") = txtEfternamn.Text
ds.Tables("Rwadress").Rows(AktuellPost).Item("Postadress") = txtGatuadress.Text
ds.Tables("Rwadress").Rows(AktuellPost).Item("Postnummer") = txtPostnummer.Text
ds.Tables("Rwadress").Rows(AktuellPost).Item("Ort") = txtOrt.Text
ds.Tables("Rwadress").Rows(AktuellPost).Item("Födelsedatum") = txtFodelsedatum.Text
ds.Tables("Rwadress").Rows(AktuellPost).Item("Epostadress") = txtEpostadress.Text
ds.Tables("Rwadress").Rows(AktuellPost).Item("TeleNr1") = txtTelenr1.Text
ds.Tables("Rwadress").Rows(AktuellPost).Item("TeleNr2") = txtTelenr2.Text
ds.Tables("Rwadress").Rows(AktuellPost).Item("Anteckningar") = txtAnteckningar.Text
da.Update(ds, "Rwadress")
End Sub
Private Sub SkapaNyPost()

Dim dsNyPost As DataRow
dsNyPost = ds.Tables("Rwadress").NewRow

dsNyPost.Item("Fornamn") = txtFornamn.Text
dsNyPost.Item("Efternamn") = txtEfternamn.Text
dsNyPost.Item("Postadress") = txtGatuadress.Text
dsNyPost.Item("Postnummer") = txtPostnummer.Text
dsNyPost.Item("Ort") = txtOrt.Text
dsNyPost.Item("Födelsedatum") = txtFodelsedatum.Text
dsNyPost.Item("Epostadress") = txtEpostadress.Text
dsNyPost.Item("TeleNr1") = txtTelenr1.Text
dsNyPost.Item("TeleNr2") = txtTelenr2.Text
dsNyPost.Item("Anteckningar") = txtAnteckningar.Text

ds.Tables("Rwadress").Rows.Add(dsNyPost)
da.Update(ds, "Rwadress")
TotAntalRader = TotAntalRader + 1
Call lblToText(False)
AktuellPost = HoldAktuellPost
Call NavigateRecords()
Call Knappar(True)



End Sub

Private Sub btnAvbryt_Click(sender As Object, e As EventArgs) Handles btnAvbryt.Click

boolNyPost = False
Call lblToText(False)
Call Knappar(True)




End Sub

Private Sub btnAndra_Click(sender As Object, e As EventArgs) Handles btnAndra.Click

txtFornamn.Text = lblFornamn.Text
txtEfternamn.Text = lblEfternamn.Text
txtGatuadress.Text = lblGatuadress.Text
txtPostnummer.Text = lblPostnummer.Text
txtOrt.Text = lblOrt.Text
txtFodelsedatum.Text = LblFodelsedatum.Text
txtEpostadress.Text = lblEpostadress.Text
txtTelenr1.Text = lblTeleNr1.Text
txtTelenr2.Text = lblTeleNr2.Text
txtAnteckningar.Text = lblAnteckningar.Text

Call lblToText(True)
Call Knappar(False)
End Sub
End Class


Svara

Sv: Vb 2013 och accessdatabas

Postades av 2014-05-30 19:38:15 - Ronnie Wiklund

Löste det själv, problemet var i accessdatabasen, jag hade inte satt någon primärnyckel på min indexräknare, bara tur jag kom på det


Svara

Nyligen

  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak
  • 16:14 Vem anlitar man egentligen när tak
  • 16:13 Vem anlitar man egentligen när tak
  • 11:52 Noen erfaring med uttak hos Mostbe
  • 11:51 Noen erfaring med uttak hos Mostbe

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 567
27 958
271 741
357
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies