2010-11-03 59 views
0

我在互联网上发现了这段代码,但我不知道如何在access 2010窗体上显示这段代码。如何将此代码作为文本标签获取到访问表单中?

任何人都可以帮助我吗?

Dim strPin As String 
Dim i As Integer 

strPin = "JobNr" 

'Set seed 
Call Randomize 

For i = 1 To 4 
    strPin = strPin & Int(10 * Rnd) 
Next 

问题编辑:

我都这样了,请不要看的标记,它只是一个试验。

Private Sub Tekst49_Click() 
Dim strPin As String 
Dim i As Integer 

strPin = "JobNr: " 

'Set seed 
Call Randomize 

For i = 1 To 5 
    strPin = strPin & Int(10 * Rnd) 
Next 

Me.Tekst49 = strPin 
End Sub 

由于私人小组说,这是一个onclick事件。 有人可以告诉我,如果BeforeUpdate和AfterUpdate意味着插入新记录后? 因为这就是我喜欢的,所以在表单加载和开始新记录后生成一个数字。

回答

1

如果你只是想显示的数值,创建一个文本框,并完成类似下面

For i = 1 To 4 
    strPin = strPin & Int(10 * Rnd) 
Next 
me.myTextBox = strPin 

你可以做同样的标签,以及:

me.mylabel.caption = strPin 
0

你想实现什么?
VBA代码就像创建“JobNr [randomnumber]”一样,例如“JobNr8123”。

Rnd()创建0和1和表达式Int(10 * Rnd)之间的随机数产生在0和10之间的随机数(准确地说是0和9.99999之间的随机数,其总是会降来9)。由于这是迭代4次以上,随机数实际上变成了4位数 - 这可以通过Int(1000 * Rnd)更容易完成,具有相同的效果。

+1

实际上,循环不会覆盖'strPin',因为它每次连接在一起。所有这些都是生成四个随机数字并将它们附加到初始字符串。为什么不能通过一次调用Rnd()和多个1000来实现这个功能,并且使用前导零来填充,我没有任何线索。 – 2010-11-03 19:32:17

+0

你是完全正确的。错过了'= strPin'。 – 2010-11-03 21:44:47

+0

'Int(10 * Rnd)'不会在0(不是1)和9.99之间创建一个随机数(然后将其转换为int)? – 2010-11-03 22:18:47

相关问题