Advertisement

02.05.2008 at 12:31PM PST, ID: 23139270
[x]
Attachment Details
[x]
The Solution Rating System

With so many solutions, how can you tell which solutions are most likely to help you and which ones are not? To provide you with a tool to use, we rate our solutions based on various elements that most accurately determine if a solution is a quality solution. To explain what factors affect the solution rating, here are the elements we take into consideration when formulating our solution rating.

  • The Grade of the Solution
  • The Zone Rank of the Expert Providing the Solution
  • The Number of Author and Expert Comments
  • The Number of Experts Contributing
  • The Feedback of the Community

Your Input Matters
Because of the way the system is set up, the most important variable in this equation is you. As a member of Experts Exchange, you are able to cast your vote on the quality of the solutions in regard to how complete, accurate, helpful and easy to understand each solution is. When you provide your feedback, each rating is adjusted accordingly. So, if you see a solution that has a poor rating that you think is a good solution, let us know by rating it. As you do, the rating will be adjusted and will become more accurate for other members of our site.

If you have any suggestions that you would like to make for our rating system, please ask a question in the Suggestions Zone of Community Support.

Thank you!

Access: Multi-Select list box populates multiple rows in table
Tags: Access, N/A, N/A
Hi -

I'm not so good with Access/VBA and need some help.  I have a form that has a combo-box and a multi-select list box.  I'd like the selected items on that combo box and list box to each be inserted into separate records in a table.  For example:

Combo Box: SandwichName
List Box: SandwichIngredients

A form entry might look like:
Combo Box: Ham Sandwich
List Box:  Bread      [Selected]
                Ham         [Selected]
                Turkey    
                Mayo       [Selected]
                Mustard
                Cheese


And I'd like the resulting "Sandwiches" table to look like:

Name                         Ingredients
Ham Sandwich          Bread
Ham Sandwich          Ham
Ham Sandwich          Mayo  


I think I need some VB code to do this.  I found a code snippet elsewhere on EE that I thought might do the trick.  I adapted it a little, and I tried putting this into the Click() sub for the list box "List4":

    Dim i As Integer
    Dim sSql As String

    For i = 0 To List4.ListCount - 1
        If List4.Selected(i) = True Then
            sSql = "INSERT INTO Sandwiches (Name, Ingredients) VALUES (SandwichName,SandwichIngredients)"
            Debug.Print sSql   'diagnostic
            CurrentDb.Execute sSql, dbFailOnError
        End If
    Next i


No dice.  At run time I get an error message that says I don't have enough parameters, that it was expecting two parameters.


Thanks for your help!
Noah
Start your free trial to view this solution
Question Stats
Zone: Microsoft
Question Asked By: noahisaac
Solution Provided By: capricorn1
Participating Experts: 3
Solution Grade: A
Views: 218
Translate:
Loading Advertisement...
02.05.2008 at 12:44PM PST, ID: 20826722

Rank: Genius

All comments and solutions are available to Premium Service Members only.

Start your 7 day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
02.05.2008 at 01:16PM PST, ID: 20827080

Rank: Guru

All comments and solutions are available to Premium Service Members only.

Start your 7 day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
02.05.2008 at 01:18PM PST, ID: 20827102

Rank: Guru

All comments and solutions are available to Premium Service Members only.

Start your 7 day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
02.05.2008 at 01:19PM PST, ID: 20827130

Rank: Guru

All comments and solutions are available to Premium Service Members only.

Start your 7 day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
02.05.2008 at 01:37PM PST, ID: 20827307

Rank: Genius

All comments and solutions are available to Premium Service Members only.

Start your 7 day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
02.27.2008 at 06:35PM PST, ID: 21000759

Rank: Genius

All comments and solutions are available to Premium Service Members only.

Start your 7 day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
 
Loading Advertisement...
Microsoft
  • Internet Protocols
  • Applications
  • Development
  • OS
  • Hardware
  • Windows Security
Apple
  • Operating Systems
  • Hardware
  • Programming
  • Networking
  • Software
Internet
  • Search Engines
  • File Sharing
  • WebTrends / Stats
  • Spy / Ad Blockers
  • Web Browsers
  • New Net Users
  • Web Development
  • Chat / IM
  • Anti Spam
  • Web Servers
  • Anti-Virus
  • Email Clients
Gamers
  • Tips
  • Online / MMORPG
  • Puzzle
  • Emulators
  • Action / Adventure
  • Role Playing
  • Consoles
  • Game Programming
  • Strategy
  • Sports
  • Misc
  • Computer Games
Digital Living
  • Hardware
  • New Net Users
  • New Users
  • Software
  • Digital Music
  • Gaming World
  • Home Security
  • Apple
  • Networking Hardware
Virus & Spyware
  • Vulnerabilities
  • IDS
  • Encryption
  • Anti-Virus
  • Operating Systems Security
  • Software Firewalls
  • WebApplications
  • Cell Phones
  • Operating Systems
  • Internet
  • Hardware Firewalls
Hardware
  • Handhelds / PDAs
  • Displays / Monitors
  • Components
  • Networking Hardware
  • Peripherals
  • Laptops/Notebooks
  • Storage
  • Servers
  • Desktops
  • New Users
  • Misc
  • Apple
Software
  • System Utilities
  • Industry Specific
  • Network Management
  • Photos / Graphics
  • Page Layout
  • VMWare
  • Misc
  • Web Development
  • OS
  • CYGWIN
  • Voice Recognition
  • Message Queue
  • Quality Assurance
  • Security
  • Firewalls
  • MultiMedia Applications
  • Development
  • Database
  • Office / Productivity
  • Business Management
  • OS/2 Apps
  • Server Software
  • Internet / Email
ITPro
  • OS
  • Storage
  • Encryption
  • Operating Systems Security
  • Apple Hardware
  • Laptops & Notebooks
  • Servers
  • Networking Hardware
  • Peripherals
  • Devices
  • Displays / Monitors
  • WebTrends / Stats
  • Search Engines
  • Firewalls
  • WebApplications
  • IDS
  • Vulnerabilities
  • Email Clients
  • File Sharing
  • Spy / Ad Blockers
  • Web Browsers
  • Web Servers
  • Networking
  • Anti-Virus
  • Chat / IM
  • Anti Spam
Developer
  • Web Servers
  • Web Browsers
  • Game Programming
  • Dev Tools
  • Industry Specific
  • Office / Productivity
  • Database
  • CYGWIN
  • Web Development
  • Search Engines
  • File Sharing
  • WebTrends / Stats
  • Programming
  • Content Management
  • Application Servers
  • Protocols
Storage
  • Removable Backup Media
  • Storage Technology
  • Servers
  • Grid
  • Remote Access
  • Backup / Restore
  • Misc
  • Hard Drives
OS
  • Miscellaneous
  • Security
  • Development
  • Linux
  • VMWare
  • MainFrame OS
  • Unix
  • Apple
  • OS / 2
  • AS / 400
  • BeOS
  • Microsoft
  • VMS / OpenVMS
Database
  • Oracle
  • Miscellaneous
  • MySQL
  • Software
  • Sybase
  • Contact Management
  • PostgreSQL
  • Data Manipulation
  • Clarion
  • InterSystems Cache
  • Siebel
  • MUMPS
  • OLAP
  • SQLBase
  • SAS
  • GIS & GPS
  • 4GL
  • Berkeley DB
  • DB2
  • Informix
  • Interbase / Firebird
  • FoxPro
  • Reporting
  • LDAP
  • Filemaker Pro
  • MS SQL Server
  • dBase
  • MS Access
Security
  • Misc
  • Web Browsers
  • Software Firewalls
  • Operating Systems Security
  • File Sharing
  • Spy / Ad Blockers
  • Vulnerabilities
  • WebApplications
  • IDS
  • Anti-Virus
  • Encryption
  • Anti Spam
  • Email Clients
  • VPN
  • Chat / IM
Programming
  • Editors IDEs
  • Installation
  • Handhelds / PDAs
  • Multimedia Programming
  • System / Kernel
  • Algorithms
  • Game
  • Signal Processing
  • Project Management
  • Open Source
  • Database
  • Misc
  • Languages
  • Processor Platforms
  • Theory
Web Development
  • Scripting
  • Blogs
  • Web Servers
  • Software
  • Search Engines
  • Web Graphics
  • Images
  • Internet Marketing
  • Images and Photos
  • Components
  • Document Imaging
  • Web Languages/Standards
  • Illustration
  • WebApplications
  • Fonts
  • WebTrends / Stats
  • Authoring
  • Digital Camera Software
  • Miscellaneous
Networking
  • Protocols
  • Apple Networking
  • Network Management
  • Message Queue
  • Application Servers
  • Content Management
  • File Servers
  • Email Servers
  • Misc
  • Java Editors & IDEs
  • Wireless
  • Networking Hardware
  • Backup / Restore
  • System Utilities
  • ISPs & Hosting
  • Web Servers
  • Storage Technology
  • Removable Backup Media
  • Servers
  • Broadband
  • Grid
  • OS / 2
  • Novell Netware
  • Unix Networking
  • Windows Networking
  • Security
  • Telecommunications
  • Operating Systems
  • Linux Networking
Other
  • Community Advisor
  • Lounge
  • Community Support
  • New Net Users
  • Philosophy / Religion
  • Math / Science
  • Miscellaneous
  • URLs
  • Expert Lounge
  • Politics
  • Puzzles / Riddles
Community Support
  • Suggestions
  • New to EE
  • New Topics
  • Community Advisor
  • CleanUp
  • Announcements
  • General
  • Feedback
  • Input
  • EE Bugs
 
02.05.2008 at 12:44PM PST, ID: 20826722

Rank: Genius


dim j
with me.listboxname
        if .itemsselected.count>0 then
            for each j in .itemsselected
                  currentdb.execute _
                  "insert into tableX(sandwich, ingredients) values ('" & me.comboname &"','"& .itemdata(j) &"')"
            next

        end if
end with
Accepted Solution
 
02.05.2008 at 01:16PM PST, ID: 20827080

Rank: Guru

The Tables...
Supose you 2 tables as follows...

tblSandwhich
   SandWhichID     AutoNumber (Long Int)  (1 side of a 1 to Many Relationship with tblSandwhich
   SandWhich        String Variable

tblSandwhichIngredient
   SandwhichIngredient  AutoNumber (Long Int)
   SandwhichID               LongInt (Foreign Key - Many side of 1 to Many Relationship with tblSandwhich)
   SandwhichIngredient
Just so we have a name for you're form I'll call it "frmSample"

The Form...
Supose you have 2 controls as follows...

Form contains - 1 Combo box named "cboSandwhich" with the following Query....

SELECT Sandwhich FROM tblSandwhich ORDER BY Sandwhich;

.ColumnWiths = 0"
.ColumnCount = 2

The AfterUpdate Event of this Combo box should code as follows...

Private Sub cboSandwhich_AfterUpdate()
    Me.lstSandwhichIngredient.Requery
End Sub

Form contains - 1 ListBox named lstIngrediant that has the following Query in it...

SELECT  SandwhichIngredientID, SandwhichIngredient as Ingredient FROM tblSandwhichIngredient WHERE SandwhichID = Forms!frmSample!cboSanwhich.Value ORDER BY SandwhichIngredient ;

.ColumnWiths = 0"
.ColumnCount = 2

***********************************************************

Although there are other ways to do this this one is especially simple as you can see from the single line of code that is needed to make it work.
 
02.05.2008 at 01:18PM PST, ID: 20827102

Rank: Guru

Sorry 1 correction to my last post (the query for cboSandwhich was missing a field).  Reposted in its entirety for simplicity...


Is this what you were looking for?
Yes No
Rick_Rickards:
The Tables...
Supose you 2 tables as follows...

tblSandwhich
   SandWhichID     AutoNumber (Long Int)  (1 side of a 1 to Many Relationship with tblSandwhich
   SandWhich        String Variable

tblSandwhichIngredient
   SandwhichIngredient  AutoNumber (Long Int)
   SandwhichID               LongInt (Foreign Key - Many side of 1 to Many Relationship with tblSandwhich)
   SandwhichIngredient
Just so we have a name for you're form I'll call it "frmSample"

The Form...
Supose you have 2 controls as follows...

Form contains - 1 Combo box named "cboSandwhich" with the following Query....

SELECT SandwhichID, Sandwhich FROM tblSandwhich ORDER BY Sandwhich;

.ColumnWiths = 0"
.ColumnCount = 2

The AfterUpdate Event of this Combo box should code as follows...

Private Sub cboSandwhich_AfterUpdate()
    Me.lstSandwhichIngredient.Requery
End Sub

Form contains - 1 ListBox named lstIngrediant that has the following Query in it...

SELECT  SandwhichIngredientID, SandwhichIngredient as Ingredient FROM tblSandwhichIngredient WHERE SandwhichID = Forms!frmSample!cboSanwhich.Value ORDER BY SandwhichIngredient ;

.ColumnWiths = 0"
.ColumnCount = 2

***********************************************************

Although there are other ways to do this this one is especially simple as you can see from the single line of code that is needed to make it work.
 
02.05.2008 at 01:19PM PST, ID: 20827130

Rank: Guru

Sorry for the repost (seemed to have captured more text than anticipated in the cut and paste).  Checked this twice so this should be as it was originally intended...
*********************************
*********************************

The Tables...
Supose you 2 tables as follows...

tblSandwhich
   SandWhichID     AutoNumber (Long Int)  (1 side of a 1 to Many Relationship with tblSandwhich
   SandWhich        String Variable

tblSandwhichIngredient
   SandwhichIngredient  AutoNumber (Long Int)
   SandwhichID               LongInt (Foreign Key - Many side of 1 to Many Relationship with tblSandwhich)
   SandwhichIngredient
Just so we have a name for you're form I'll call it "frmSample"

The Form...
Supose you have 2 controls as follows...

Form contains - 1 Combo box named "cboSandwhich" with the following Query....

SELECT SandwhichID, Sandwhich FROM tblSandwhich ORDER BY Sandwhich;

.ColumnWiths = 0"
.ColumnCount = 2

The AfterUpdate Event of this Combo box should code as follows...

Private Sub cboSandwhich_AfterUpdate()
    Me.lstSandwhichIngredient.Requery
End Sub

Form contains - 1 ListBox named lstIngrediant that has the following Query in it...

SELECT  SandwhichIngredientID, SandwhichIngredient as Ingredient FROM tblSandwhichIngredient WHERE SandwhichID = Forms!frmSample!cboSanwhich.Value ORDER BY SandwhichIngredient ;

.ColumnWiths = 0"
.ColumnCount = 2

***********************************************************

Although there are other ways to do this this one is especially simple as you can see from the single line of code that is needed to make it work.
 
02.05.2008 at 01:37PM PST, ID: 20827307

Rank: Genius

noahisaac,

what is the name of your combo box?
place this codes in a click of the commandbutton

private sub command0_click()

    Dim j As variant
   

   With me.List4
         if .itemsselected.count>0 then
            for each j in .itemsselected
                  currentdb.execute _
                  "insert into Sandwiches([name], ingredients) values ('" & me.comboname &"','"& .itemdata(j) &"')"
            next

        end if
    end with
end sub


change me.comboname to the actual name of the combo

your list box list4  Multi select property must be set to simple, so you can select multiple items





 
02.27.2008 at 06:35PM PST, ID: 21000759

Rank: Genius

No comment has been added to this question in more than 21 days, so it is now classified as abandoned.

I will leave the following recommendation for this question in the Cleanup topic area:
   Accept: capricorn1 {http:#20826722}

Any objections should be posted here in the next 4 days. After that time, the question will be closed.

mbizup
EE Cleanup Volunteer
 
 
03.02.2008 at 07:43AM PST, ID: 21026339
Forced accept.

Computer101
EE Admin
 
 
 
20080236-EE-VQP-29 / EE_QW_2_20070628