Access2003のVBAについて



◇-?Access2003のVBAについて-しん(2005/1/29-19:52)No.233270
 ┗?【多分解決】Re:Access2003のVB...-しん(2005/1/30-09:49)No.233420

▲このページのトップに戻る
233270Access2003のVBAについてしん 2005/1/29-19:52

メーカー名:東芝
OS名:WindowsXp
パソコン名:PAEX522PDE
使用回線:ADSL
--
コーテイングの抜粋です。
下記を走らせると、画面に赤い棒が描かれ360度グルグル回転します。
問題は
マウスを押すと回転が止まる事です、これを止まらないように出来ないものでしょうか。

コード
5 Private pFrm As Form
6 Private pLine As Control
7 Private i As Single
8
9 Const k = 4025
10 Const x = 5000
11 Const y = 4400
12 Const p = 3.1416 / 180
13+++++++++++++++++++++++++++++
14 Sub kaiten()
15
16 Dim frmName As String
17 '**************************************************
18 'フオームを描く
19 Set pFrm = CreateForm
20 With pFrm
21 .Section(0).Height = 8550
22 .OnTimer = "=myabcd()"
23 .TimerInterval = 70
24 End With
25 '**************************************************
26 '回転棒を描く
27 Set pLine = CreateControl(pFrm.Name, acLine)
28 With pLine
29 .Name = "pLine"
30 .Height = k
31 .BorderWidth = 6
32 .BorderColor = QBColor(12)
33 End With
34 '**************************************************
35 ' フオーム名と必要なコントロール名を得る
36 frmName = pFrm.Name
37 DoCmd.OpenForm pFrm.Name
38 Set pFrm = Forms(frmName)
39 End Sub
40++++++++++++++++++++++++++++++
41 Function myabcd()
42
43 i = i - 3
44 If i < -360 Then i = 0
45
46 With pFrm.pLine
47 Select Case i
48 Case -90 To 0
49 .LineSlant = -1
50 .Left = x
51 .Top = y - k * Cos(i * p)
52 Case -180 To -90
53 .LineSlant = 0
54 .Top = y
55 Case -270 To -180
56 .LineSlant = -1
57 .Left = x - k * Sin(i * p)
58 Case -360 To -270
59 .LineSlant = 0
60 .Left = x - k * Sin(i * p)
61 .Top = y - k * Cos(i * p)
62 End Select
63 .Height = k * Abs(Cos(i * p))
64 .Width = k * Abs(Sin(i * p))
65 End With
66 End Function

▲このページのトップに戻る
233420Re:Access2003のVBAについてしん 2005/1/30-09:49
記事番号233270へのコメント
しんさんは No.233270「Access2003のVBAについて」で書きました。
>メーカー名:東芝
>OS名:WindowsXp
>パソコン名:PAEX522PDE
>使用回線:ADSL
>--
>コーテイングの抜粋です。
>下記を走らせると、画面に赤い棒が描かれ360度グルグル回転します。
>問題は
>マウスを押すと回転が止まる事です、これを止まらないように出来ないものでしょうか。
>
> コード
> 5 Private pFrm As Form
>
あれから色々Testしてみました、また先輩、諸氏に聞きました。

結論は

Accessはマルチスレッドアプリケーションではないので
Accessの機能だけでは不可能。

一様、この問題は納得しました。

A1.本ページは参考になりましたか? 又はアドバイスがありますか?
解決 参考になった 参考にならなかった アドバイスする

A2.何度目の訪問ですか?
初めて来た   数度目(2〜4) 5回以上来ている   管理人:

A3.何か一言どうぞ(アドレスは書くことができません)

A4.アドレスがあればどうぞ(1つまで)


↑↑↑↑よろしければ押してください↑↑↑↑

何か一言(本ページで参考になったならないを含めて残してあります)
◎:解決 ○:参考になった ×:参考にならなかった !:アドバイスあり

参考回数投稿日時何か一言