[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
?
Solved

Getting data into a vb.net form from Access database

Posted on 2010-08-17
12
Medium Priority
?
455 Views
Last Modified: 2012-05-10
Hello,

Would this code work? I am trying to count the number of "A" entered in the Response field.
the database is called Survey.
   
Dim number As Integer
        Dim con As OleDbConnection
        Dim comm As OleDbCommand
        Dim reader As OleDbDataReader
        con = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Survey.accdb;")
        comm = New OleDbCommand("Select count(Response)as number from Answers where SurveyID = 1 and QuestionID =1 and Response = 'A'", con)
        ' Open Connection
        con.Open()
        ' reader read comm
        reader = comm.ExecuteReader
        ' Get from the reader the UserName and UserPasswrod
        While reader.Read
            number = reader.Item("Response")

        End While
        con.Close()
       
       
       
0
Comment
Question by:adamtrask
  • 5
  • 4
  • 2
  • +1
12 Comments
 
LVL 6

Expert Comment

by:rbgCODE
ID: 33458069
Because you are using Count this should only return one value, and you don't need execute reader, what is the error you are getting?
0
 
LVL 120

Expert Comment

by:Rey Obrero (Capricorn1)
ID: 33458075
add a space before "as"

comm = New OleDbCommand("Select count(Response) as number from Answers where SurveyID = 1 and QuestionID =1 and Response = 'A'", con)

or in access vba, just not sure if it will work on .net

comm = New OleDbCommand("Select count("*") as number from Answers where SurveyID = 1 and QuestionID =1 and Response = 'A'", con)
0
 

Author Comment

by:adamtrask
ID: 33458078
To tell you the truth I haven't tried it yet....
I'll do that now and get back to you
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 6

Expert Comment

by:rbgCODE
ID: 33458121
or you can try this...

 Dim conn As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\survey.accdb;Persist Security Info=False"
        Dim cmd As String = "Select Count(response) as iCount from Answers Where surveyID=1 and questionID=1 nad Response='A'"
        Dim adapter As New OleDbDataAdapter(cmd, conn)
        Dim rs As New DataSet
        adapter.Fill(rs)

rs.Count as well as rs("iCount") should tell you the total number of people who chose a.
0
 

Author Comment

by:adamtrask
ID: 33458441
This the error i am getting

The SELECT statement includes a reserved word or an argument name that is misspelled or missing, or the punctuation is incorrect
0
 
LVL 10

Expert Comment

by:Jini Jose
ID: 33458506
there is a spelling mistake in your code. change the nad to and before Response='A'"
0
 

Author Comment

by:adamtrask
ID: 33458708
rbgCODE:

It looks like it's working. The thing is I don't know how to extract the value contained in "rs".

Is it possible to do some thing like:
dim count as integer = rs.value....???
0
 
LVL 10

Expert Comment

by:Jini Jose
ID: 33458793
check the below link. you will get the basic idea

http://www.devdos.com/vb/lesson4.shtml


0
 
LVL 10

Expert Comment

by:Jini Jose
ID: 33458806
you can get the values as below

rs.Fields(0).Value


0
 

Author Comment

by:adamtrask
ID: 33458974
I get the following error:

Fields is not a member of system.Data.Dataset
0
 
LVL 10

Expert Comment

by:Jini Jose
ID: 33459057
sorry I posted the vb6 codes.
0
 

Accepted Solution

by:
adamtrask earned 0 total points
ID: 33461125
Thanks to every one who responded. I found the solution using the ExecuteScalar method which executes the SQL statement associated with the Command object and returns a single value. So in the case of the code above it would be some thing like that:

Dim Number as integer
comm = New OleDbCommand("Select count(Response)from Answers where SurveyID = 1 and QuestionID =1 and Response = 'A'", con)
con.Open()
Number =comm.ExecuteScalar
con.close()
0

Featured Post

Visualize your virtual and backup environments

Create well-organized and polished visualizations of your virtual and backup environments when planning VMware vSphere, Microsoft Hyper-V or Veeam deployments. It helps you to gain better visibility and valuable business insights.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Windows Explorer let you handle zip folders nearly as any other folder: Copy, move, change, and delete, etc. In VBA you can also handle normal files and folders, but zip folders takes a little more - and that you'll find here.
Sometimes MS breaks things just for fun... In Access 2003, only the maximum allowable SQL string length could cause problems as you built a recordset. Now, when using string data in a WHERE clause, the 'identifier' maximum is 128 characters. So, …
With Microsoft Access, learn how to start a database in different ways and produce different start-up actions allowing you to use a single database to perform multiple tasks. Specify a start-up form through options: Specify an Autoexec macro: Us…
Polish reports in Access so they look terrific. Take yourself to another level. Equations, Back Color, Alternate Back Color. Write easy VBA Code. Tighten space to use less pages. Launch report from a menu, considering criteria only when it is filled…
Suggested Courses

872 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question