Mark A Matte
markamatte at hotmail.com
Thu Sep 11 10:05:37 CDT 2008
Darren, Glad to help...and thank you for the compliment... I've used this technique for a number of things...especially when I don't have a lot of space. 1 app has a report/status screen...and the user needs to toggle between 3 different recordsets and I didn't want them to go to a different form for each view...so I have 1 subform...and 3 buttons...each button just changes the control source of the subform to display whatever query/recordset I choose. I suppose that could be done with your tab situation. Good luck. Thanks Again, Mark A. Matte > From: darren at activebilling.com.au > To: accessd at databaseadvisors.com > Date: Thu, 11 Sep 2008 10:03:47 +1000 > Subject: Re: [AccessD] A2003: Table Driven button list on Continuous Forms > > Hi Mark > > Genius - Love it - It does exactly what I wanted - I only went with Cont Forms > as I thought this would be the best way to achieve buttons on the fly > > This has opened a whole new world for this project and I can go back to single > record forms as my subform - Way Cool > > This may also sort out an issue I have with a set number of TABS on the form not > being enough and having to add more in design view then redistribute the app, > versus 'creating' the required number on the fly - oooooh I am excited > > Many many thanks > > Darren > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte > Sent: Wednesday, 10 September 2008 11:58 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] A2003: Table Driven button list on Continuous Forms > > > Sorry...this is not on a continuos form...but I think the concept is here in > spirit. If you have 5 records...you get 5 buttons...3 records...3 buttons. > > Mark > > >> From: markamatte at hotmail.com >> To: accessd at databaseadvisors.com >> Date: Wed, 10 Sep 2008 12:51:46 +0000 >> Subject: Re: [AccessD] A2003: Table Driven button list on Continuous Forms >> >> >> Darren, >> >> I done something similar...but not with buttons. So I modified to see if I > could get what you need. I used a form,subform, and table. I got the idea from a > sample Candace Tripp had on her site years ago. There is no error > handling...just code. >> >> Let me know if you have any questions or need a sample mdb. >> >> Thanks, >> >> Mark A. Matte >> >> Here is the code for each form: >> SubForm: sfrmMyButtons >> >> Option Compare Database >> >> Function ImClicked() >> Dim CNM >> Dim ctlCurrentControl As Control >> >> Set ctlCurrentControl = Screen.ActiveControl >> CNM = Right(ctlCurrentControl.Name, Len(ctlCurrentControl.Name) - 4) >> >> If Me("tgl_" & CNM) = 0 Or IsNull(Me("tgl_" & CNM)) = True Then >> Me("tgl_" & CNM) = -1 >> Me("lb1_" & CNM).Visible = False >> Me("lb2_" & CNM).Visible = True >> Else >> Me("tgl_" & CNM) = 0 >> Me("lb1_" & CNM).Visible = True >> Me("lb2_" & CNM).Visible = False >> End If >> End Function >> >> >> Main Form: frmMakeButton >> >> >> Function MakeButtons() >> Dim dbs As Database, rst As Recordset, intI As Integer >> Dim ctlLabel As Control, ctlText As Control, ctlToggle As Control, ctlButton > As Control >> Dim intDataX As Integer, intDataY As Integer >> Dim intLabelX As Integer, intLabelY As Integer >> DoCmd.OpenForm "sfrmMyButtons", acDesign >> >> Dim ctl As Control >> LoopAgain: >> For Each ctl In Forms!sfrmMyButtons.Controls >> Dim test >> DeleteControl "sfrmMyButtons", ctl.Name >> Next ctl >> If Forms!sfrmMyButtons.Controls.Count> 0 Then GoTo LoopAgain >> Set dbs = CurrentDb >> Set rst = dbs.OpenRecordset("SELECT Table2.emails FROM Table2 WHERE > Table2.Group= '" & [Forms]![frmMakeButton]![Combo3] & "';") >> >> rst.MoveLast >> rst.MoveFirst >> >> intLabelX = 100 >> intLabelY = 100 >> intDataX = 1000 >> intDataY = 100 >> >> For intI = 1 To rst.RecordCount >> '******************************** >> Set ctlToggle = CreateControl("sfrmMyButtons", acToggleButton, , "", "", > intLabelX, intLabelY, 2000, 500) >> ctlToggle.Name = "tgl_" & rst!emails >> ctlToggle.TabStop = 0 >> ctlToggle.Enabled = False >> Set ctlLabel = CreateControl("sfrmMyButtons", acLabel, , "", > "66666666662222222000000", intLabelX, intLabelY, 2000, 500) >> ctlLabel.Name = "lb1_" & rst!emails >> ctlLabel.Caption = rst!emails >> ctlLabel.TextAlign = 2 >> Set ctlLabel = CreateControl("sfrmMyButtons", acLabel, , "", > "66666666662222222000000", intLabelX, intLabelY + 100, 2000, 500) >> ctlLabel.Name = "lb2_" & rst!emails >> ctlLabel.Caption = rst!emails >> ctlLabel.TextAlign = 2 >> ctlLabel.Visible = False >> Set ctlButton = CreateControl("sfrmMyButtons", acCommandButton, , "", > "66666666662222222000000", intLabelX, intLabelY, 2000, 500) >> ctlButton.Visible = True >> ctlButton.Name = "cmd_" & rst!emails >> ctlButton.Transparent = True >> ctlButton.OnMouseDown = "=imClicked()" >> ctlButton.OnMouseUp = "=imClicked()" >> intLabelY = intLabelY + 500 >> >> '******************************** >> rst.MoveNext >> >> Next intI >> Set dbs = Nothing >> Set rst = Nothing >> DoCmd.Close acForm, "sfrmMyButtons", acSaveYes >> End Function >> >> Private Sub Combo3_AfterUpdate() >> Me!sfrmMyButtons.SourceObject = "" >> MakeButtons >> Me!sfrmMyButtons.SourceObject = "sfrmMyButtons" >> End Sub >> >>> From: darren at activebilling.com.au >>> To: accessd at databaseadvisors.com >>> Date: Tue, 9 Sep 2008 09:52:18 +1000 >>> Subject: Re: [AccessD] A2003: Table Driven button list on Continuous Forms >>> >>> Hi Kath >>> >>> Thanks for the reply >>> I just wanted to build a list of buttons (that grows and shrinks)on a > continuous >>> form for each of our clients. Clients are selected by tabs and the list of >>> buttons is 'built' on each tab click (In a sub form). The table is a list of >>> applications each client has and I want a button list of their applications > and >>> I wanted the caption on the button and the list of buttons to be table > driven. >>> >>> That ain't gonna work. So I used a transparent text box over the no caption >>> button that looked OK until you click it. Then the mouse simply moves to the >>> text box and the text of 'the button' is selected. Then I wanted the 'look' > of a >>> button being pushed and look of a button being released when the mouse got to >>> this transparent text box. Too tricky >>> >>> I gave up - can't easily be done and I have already used an inappropriate > amount >>> of time chasing the 'look' >>> >>> Darren >>> >>> -----Original Message----- >>> From: accessd-bounces at databaseadvisors.com >>> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Kath Pelletti >>> Sent: Tuesday, 9 September 2008 9:10 AM >>> To: Access Developers discussion and problem solving >>> Subject: Re: [AccessD] A2003: Table Driven button list on Continuous Forms >>> >>> Darrren - >>> >>> I'm not sure that I *entirely* understand what you are trying to do, but if >>> you want bound controls which look like rounded buttons, then can draw a >>> rounded button (in Word or PPoint), and then sit the bound control on top of >>> it (text box) and set it's back style to transparent. >>> >>> Why do you need a mouse down/up event? >>> >>> kath >>> >>> ----- Original Message ----- >>> From: "Darren D" >>> To: "'Access Developers discussion and problem solving'" >>> >>> Sent: Monday, September 08, 2008 10:24 PM >>> Subject: [AccessD] A2003: Table Driven button list on Continuous Forms >>> >>> >>>> Hi All >>>> >>>> >>>> >>>> I have a table of application names that will grow and shrink with many >>>> fields >>>> but the 2 of interest are. >>>> >>>> APPID = AutoNumber and AppName = Text >>>> >>>> >>>> >>>> I want a continuous form to have a button for each item in that table. >>>> >>>> Trouble is It is a bit tricky to get the caption for each button to = the >>>> AppName for each record in the table >>>> >>>> I can 'fake' it using labels but if I write a routine to simulate a mouse >>>> down >>>> and mouse up to mimic raises and depressions then >>>> >>>> all the labels that are simulated buttons on the form depress and raise at >>>> the >>>> same time >>>> >>>> Besides I would prefer to have the 'rounded' look to the buttons simply to >>>> match >>>> the rest of my screen design >>>> >>>> >>>> >>>> I know many people have done this sort of thing before - But how have you >>>> managed it on a continuous form driven by a table >>>> >>>> >>>> >>>> Many thanks in advance >>>> >>>> >>>> >>>> Darren >>>> >>>> >>>> >>>> -- >>>> AccessD mailing list >>>> AccessD at databaseadvisors.com >>>> http://databaseadvisors.com/mailman/listinfo/accessd >>>> Website: http://www.databaseadvisors.com >>>> >>> >>> >>> -- >>> AccessD mailing list >>> AccessD at databaseadvisors.com >>> http://databaseadvisors.com/mailman/listinfo/accessd >>> Website: http://www.databaseadvisors.com >>> >>> -- >>> AccessD mailing list >>> AccessD at databaseadvisors.com >>> http://databaseadvisors.com/mailman/listinfo/accessd >>> Website: http://www.databaseadvisors.com >> >> _________________________________________________________________ >> See how Windows connects the people, information, and fun that are part of > your life. >> http://clk.atdmt.com/MRT/go/msnnkwxp1020093175mrt/direct/01/ >> -- >> AccessD mailing list >> AccessD at databaseadvisors.com >> http://databaseadvisors.com/mailman/listinfo/accessd >> Website: http://www.databaseadvisors.com > > _________________________________________________________________ > Stay up to date on your PC, the Web, and your mobile phone with Windows Live. > http://clk.atdmt.com/MRT/go/msnnkwxp1020093185mrt/direct/01/ > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com _________________________________________________________________ See how Windows Mobile brings your life together—at home, work, or on the go. http://clk.atdmt.com/MRT/go/msnnkwxp1020093182mrt/direct/01/