Solved

VB6, Access97 SQL syntax

Posted on 2000-02-16
13
222 Views
Last Modified: 2010-05-02
Need to refer to a textbox while querying Access97:
SELECT * FROM Bills WHERE ??????????
I Need to refer to Text1 on Form4.
I tried [Forms]![Form4]![Text1] and
Forms.Form4.Text1, also with .text behind the "Text1" and several variations. I'm sure someone has this on the tip of their tongue. Perhaps
p biggelaar?
0
Comment
Question by:jtallsup
  • 4
  • 3
  • 2
  • +2
13 Comments
 
LVL 69

Expert Comment

by:Éric Moreau
Comment Utility
Your query should like this:
"SELECT * FROM Bills WHERE FieldName = '" & replace(form4.text1.text, "'", "''") & "'"
0
 
LVL 3

Expert Comment

by:MTroutwine
Comment Utility
You should only have to do:

Form4.Text1.Text

to get the textbox value.
0
 
LVL 3

Expert Comment

by:MTroutwine
Comment Utility
MTroutwine changed the proposed answer to a comment
0
 

Expert Comment

by:niven
Comment Utility
use:
SELECT *froM Bills WHERE yourField='" & form4.text1.Text & "'"
(so you'll get select * from Bills where yourField='sometext'

aka, text/string values need to be quoted)
0
 

Author Comment

by:jtallsup
Comment Utility
Returns no records, unless my old eyeballs can't see all those quote marks. I'm a beginner, so I could have something else screwed up, though I don't think so. The field I'm referring to (Text1)is not bound to anything, could that make any difference?
0
 

Expert Comment

by:niven
Comment Utility
have you tried that query in access directly?
does that work?
are you selecting on the right field?
does text4.Text have a value?
0
Free Trending Threat Insights Every Day

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

 

Author Comment

by:jtallsup
Comment Utility
No, I haven't tried it directly in access, but the field does have a value, and the query works in all other respects other than this criteria. Could you possibly type your answer out in such a way that I know I'm not misreading the quotes? ie, singleq, doubleq, etc? If you go to that much trouble I'll award you the points regardless of whether or not I can get it to work. As I said, I'm a beginner, and I may have something else screwed up. This isn't an absolute requirement for what I'm working on. It would just make it a little cleaner.
0
 
LVL 2

Expert Comment

by:p_biggelaar
Comment Utility
Hello,

I must say I'm pleasantly surprised by your confidence in me. Now let's say if I can help.

Syntax like "Select * from Bills where [Field]=[Forms]![Form4]![text1]" should work, but only when you use this select statement from within Access while (the Access form) Form4 is loaded.

In case
- Form4 is not loaded
- you're trying this from outside Access
- you're referring to a VB form, not an Access form
it won't work.

Please tell me, where are you using the select statement and what is your code 'surrounding' this statement
0
 

Author Comment

by:jtallsup
Comment Utility
OK, guess I wasn't too clear. I am indeed outside access. This is a command from within VB Dataenvironment, refering to a VB Form, which is open.
0
 
LVL 2

Expert Comment

by:p_biggelaar
Comment Utility
Oh, then you can't use that syntax. The forms collection is something that Access has, but VB is built differently and doesn't have a forms collection.

Okay. You're command should look something like:

Select * from Bills where MyField=AValue

Assuming AValue doesn't exist, then you can go to the parameter tab of the command and validate that the command object now has AValue as a parameter.

Say you want to validate the values whenever you press a button (if it is another event: feel free) then something like this should be in your button_Click:

    DataEnvironment1.Commands("NameOfCommand").Parameters("Avalue").Value = Text1.Text
    DataEnvironment1.Commands("NameOfCommand").Execute
   
    Set txtWhereTheDataShouldBeShown.DataSource = DataEnvironment1

This should do it.

Good luck...
0
 
LVL 2

Accepted Solution

by:
p_biggelaar earned 50 total points
Comment Utility
I assumed that text1.text is on the same form as where you want to change the shown data. Otherwise you can use syntax like form1.text1.text to make sure your referring to the right textboxes on the right form.
0
 
LVL 69

Expert Comment

by:Éric Moreau
Comment Utility
Can you please past your code because with all the things that have been written, it is supposed to work from a long time!
0
 

Author Comment

by:jtallsup
Comment Utility
Don't quite have it yet, but you definitely have me on the right track. Thanks for the help.
0

Featured Post

6 Surprising Benefits of Threat Intelligence

All sorts of threat intelligence is available on the web. Intelligence you can learn from, and use to anticipate and prepare for future attacks.

Join & Write a Comment

Article by: Martin
Here are a few simple, working, games that you can use as-is or as the basis for your own games. Tic-Tac-Toe This is one of the simplest of all games.   The game allows for a choice of who goes first and keeps track of the number of wins for…
You can of course define an array to hold data that is of a particular type like an array of Strings to hold customer names or an array of Doubles to hold customer sales, but what do you do if you want to coordinate that data? This article describes…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…

772 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

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now