Solved

3rd Array question

Posted on 2000-03-23
12
215 Views
Last Modified: 2010-05-02
What is the best way to do this.

On form1 I have an array of 32 textbox
txtValue(0))....txtValue(31)

On form2 I have an array of 32 checkboxes
chkValue(0)....chkValue(31)

When form2 opens it looks at form1 (form 1 is still open)

If form1.TxtValue(0).BackColor = &H80FFFF Then
ChkValue(0).value = 1
Else
ChkValue(0).value = 0
End If

If form1.txtValue(1).BackColor =&H80FFFF Then
ChkValue(1).value = 1
Else
ChkValue(1).value = 0
End If

........

Is there a better way to do this, instead of using a bunch of if statements?

thanks much
0
Comment
Question by:ptran2000
  • 5
  • 4
  • 3
12 Comments
 
LVL 28

Expert Comment

by:AzraSound
ID: 2651596
You should look at the examples from your other two questions and note how loops were used and try to do this yourself first and then come here if you cant figure it out.
0
 

Author Comment

by:ptran2000
ID: 2651611
Would a loop be faster that a bunch of if statements, I'm really looking for performance.
0
 
LVL 28

Expert Comment

by:AzraSound
ID: 2651617
well what in your program is making the backcolor yellow anyways? is it set at design time or is it something that happens at runtime?
0
 

Accepted Solution

by:
PIBM earned 100 total points
ID: 2651632
For I% = 0 to 31
  If form1.TxtValue(I).BackColor = &H 80FFFF Then
    ChkValue(I).value = 1
  Else
    ChkValue(I).value = 0
  End If
Next I


That does it, and it's the fastest both programming & CPU time consuming way to do it. Can't remove the else or previous values would not be removed
0
 
LVL 28

Expert Comment

by:AzraSound
ID: 2651640
Dim i As Integer
For i = 0 to TxtValue.Ubound
If form1.TxtValue(i).BackColor = &H80FFFF Then
ChkValue(i).value = 1
Else
ChkValue(i).value = 0
End If
Next


thats if you want to use a loop
0
 

Expert Comment

by:PIBM
ID: 2651641
Explication : What is does is looping through all the box using a variable, giving the variable all the values of the textbox one after the other, and checking if that's right or not every times.
0
IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

 

Expert Comment

by:PIBM
ID: 2651647
Azra is the same as mine, except that I used the % to "dim" my variable.
0
 

Author Comment

by:ptran2000
ID: 2651652
It is set at runtime by a user clicking on it.  It serves as an indicator that the value in that control will be changed.
0
 
LVL 28

Expert Comment

by:AzraSound
ID: 2651665
then just add code there and then to set the checkbox value. right where you use that code to change the color just add one more line

form2.chkValue(index).Value = 1
0
 
LVL 28

Expert Comment

by:AzraSound
ID: 2651667
yeah sorry bout that PIBM...you type faster than me I suppose
0
 

Author Comment

by:ptran2000
ID: 2651698
Thanks,   PIBM for being the faster typist.
0
 

Expert Comment

by:PIBM
ID: 2651801
hehe thanks for your point, with the question I asked I was down to 1 point. And finally I found out by myself =)
0

Featured Post

Enabling OSINT in Activity Based Intelligence

Activity based intelligence (ABI) requires access to all available sources of data. Recorded Future allows analysts to observe structured data on the open, deep, and dark web.

Join & Write a Comment

There are many ways to remove duplicate entries in an SQL or Access database. Most make you temporarily insert an ID field, make a temp table and copy data back and forth, and/or are slow. Here is an easy way in VB6 using ADO to remove duplicate row…
Most everyone who has done any programming in VB6 knows that you can do something in code like Debug.Print MyVar and that when the program runs from the IDE, the value of MyVar will be displayed in the Immediate Window. Less well known is Debug.Asse…
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
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…

746 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

13 Experts available now in Live!

Get 1:1 Help Now