Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Probleme de code sous VBA

10 réponses
Avatar
Audrey
Bonjour,

voil=E0 j'ai un code visual basic qui fonctionne tr=E8s bien,=20
je l'ai ensuite "adapt=E9" en VBA, ety la=E0 il fonctionne=20
toujours, mais, car il y a toujours un mais, il y a un=20
d=E9calage de 30 =E0 80 secondes.=20
Je m'explique, ce code vise =E0 r=E9aliser des acquisitions de=20
donn=E9es, en VB l'acquisition se fait en temps r=E9el, alors=20
qu'en VBA l'acquisition se fait bien mais avec un=20
d=E9calage, donc quand je mesure une pile je n'ai la mesure=20
que 30 =E0 80 secondes plus tard... c'est un peu g=E9nant

Qui pourrait me dire d'o=F9 =E7a peux venir...
Merci
Audrey

10 réponses

Avatar
Pierre CFI [mvp]
bonjour
oui, mais il faidrait plus de détails sur ce code et le contexte :o))

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Audrey" a écrit dans le message de news:198601c426d9$369dda90$
Bonjour,

voilà j'ai un code visual basic qui fonctionne très bien,
je l'ai ensuite "adapté" en VBA, ety laà il fonctionne
toujours, mais, car il y a toujours un mais, il y a un
décalage de 30 à 80 secondes.
Je m'explique, ce code vise à réaliser des acquisitions de
données, en VB l'acquisition se fait en temps réel, alors
qu'en VBA l'acquisition se fait bien mais avec un
décalage, donc quand je mesure une pile je n'ai la mesure
que 30 à 80 secondes plus tard... c'est un peu génant

Qui pourrait me dire d'où ça peux venir...
Merci
Audrey
Avatar
Audrey
Oui je m'en doute mais je ne sais pas trop ce qui pourrait
vous être utile pour vous expliquer ce dont il s'agit...
Alors si vous pouvait me dire...
Merci
Audrey
-----Message d'origine-----
bonjour
oui, mais il faidrait plus de détails sur ce code et le
contexte :o))


--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Audrey" a écrit
dans le message de news:198601c426d9$369dda90

$
Bonjour,

voilà j'ai un code visual basic qui fonctionne très bien,
je l'ai ensuite "adapté" en VBA, ety laà il fonctionne
toujours, mais, car il y a toujours un mais, il y a un
décalage de 30 à 80 secondes.
Je m'explique, ce code vise à réaliser des acquisitions de
données, en VB l'acquisition se fait en temps réel, alors
qu'en VBA l'acquisition se fait bien mais avec un
décalage, donc quand je mesure une pile je n'ai la mesure
que 30 à 80 secondes plus tard... c'est un peu génant

Qui pourrait me dire d'où ça peux venir...
Merci
Audrey


.



Avatar
Pierre CFI [mvp]
.../...
tu parles de vb, tu as donc aussi une appli en vb6 ? quelques opérations tu executes ? en gros c'est quoi ton appli ? elle fait quoi
et ou ?

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Audrey" a écrit dans le message de news:182901c426dc$8979ad90$
Oui je m'en doute mais je ne sais pas trop ce qui pourrait
vous être utile pour vous expliquer ce dont il s'agit...
Alors si vous pouvait me dire...
Merci
Audrey
-----Message d'origine-----
bonjour
oui, mais il faidrait plus de détails sur ce code et le
contexte :o))


--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Audrey" a écrit
dans le message de news:198601c426d9$369dda90

$
Bonjour,

voilà j'ai un code visual basic qui fonctionne très bien,
je l'ai ensuite "adapté" en VBA, ety laà il fonctionne
toujours, mais, car il y a toujours un mais, il y a un
décalage de 30 à 80 secondes.
Je m'explique, ce code vise à réaliser des acquisitions de
données, en VB l'acquisition se fait en temps réel, alors
qu'en VBA l'acquisition se fait bien mais avec un
décalage, donc quand je mesure une pile je n'ai la mesure
que 30 à 80 secondes plus tard... c'est un peu génant

Qui pourrait me dire d'où ça peux venir...
Merci
Audrey


.



Avatar
Alors oui j'ai du code VB donc une application en VB6
Alors cette appli réalise, grace à une carte, des
acquisitions elle comporte un bouton start un stop, et
deux zones d'affichage, une au sujet des buffers, et
l'autres rapporte la mesure en volt
le code est le suivant:
Const lBoardNum& = 0 ' Board number as
specified in the adlib.con file

Private Sub cmdStartConvert_Click()

cmdStartConvert.Visible = 0
cmdStopConvert.Visible = 1
cmdStopConvert.Default = 1
tmrConvert.ENABLED = 0

errnum& = AL_StartDevice(gblLhld&)
If errnum& < 0 Then
MsgBox "AL_StartDevice Error", MB_ICONSTOP, "ADLIB
Error"
Form_Unload (1)
End If

tmrConvert.ENABLED = 1

End Sub

Private Sub cmdStopConvert_Click()

cmdStartConvert.Visible = 1
cmdStopConvert.Visible = 0

tmrConvert.ENABLED = 0
errnum& = AL_StopDevice(gblLhld&)
If errnum& < 0 Then
MsgBox "AL_StopDevice Error", MB_ICONSTOP, "ADLIB
Error"
Form_Unload (1)
End If

End Sub

Private Sub Form_Load()

errnum& = AL_LoadEnvironment
("C:AdlibAlWdmDriversPci55mfhrEXAMPLESPci5500
vbasicadlib.con")
If errnum& < 0 Then
MsgBox "AL_LoadEnvironment Error",
MB_ICONSTOP, "ADLIB Error"
Form_Unload (1)
End If

gblLhld& = AL_AllocateDevice("ADC0", BoardNum&)
If gblLhld& < 0 Then
MsgBox "AL_AllocateDevice Error", MB_ICONSTOP, "ADLIB
Error"
Form_Unload (1)
End If

errnum& = AL_InitDevice(gblLhld&)
If errnum& < 0 Then
MsgBox "AL_InitDevice Error", MB_ICONSTOP, "ADLIB
Error"
Form_Unload (1)
End If

End Sub

Private Sub Form_Unload(Cancel As Integer)

tmrConvert.ENABLED = 0

errnum& = AL_StopDevice(gblLhld&)
errnum& = AL_ReleaseDevice(gblLhld&)
If errnum& < 0 Then
MsgBox "AL_ReleaseDevice Error", MB_ICONSTOP, "ADLIB
Error"
End If
errnum& = AL_ReleaseEnvironment()
If errnum& < 0 Then
MsgBox "AL_ReleaseEnvironment Error",
MB_ICONSTOP, "ADLIB Error"
End If

End

End Sub




Private Sub tmrConvert_Timer()

' Collect the data and display

errnum& = AL_GetBufferStatus(gblLhld&, lpDataBuffStat,
DONE_BUFFER)
If errnum& = 1 Then 'The buffer is avaliable
' Check the status and error flags
If lpDataBuffStat.lStatusFlags <> BUFFER_FULL Then
Msg = "Incomplete Buffer Status = "
Msg = Msg & lpDataBuffStat.lStatusFlags
MsgBox Msg, MB_ICONSTOP, "ADLIB Buffer Status"
Form_Unload (1)
End If
If lpDataBuffStat.lErrorFlags <> 0 Then
Msg = "Buffer Error = "
Msg = Msg & lpDataBuffStat.lStatusFlags
MsgBox "Buffer Error", MB_ICONSTOP, "ADLIB Buffer
Error"
Form_Unload (1)
End If

errnum& = AL_CopyBuffer(gblLhld&,
lpDataBuffStat.lBuffNum, DataBuff(0), 0, 100)
If errnum& < 0 Then
MsgBox "AL_CopyBuffer Error", MB_ICONSTOP, "ADLIB
Error"
Form_Unload (1)
End If
errnum& = AL_DemuxDataSet(gblLhld&,
lpDataBuffStat.lBuffNum, EngUnits(0), 0, 1)
If errnum& < 0 Then
MsgBox "AL_DemuxDataSet Error", MB_ICONSTOP, "ADLIB
Error"
Form_Unload (1)
End If

errnum& = AL_ClearBufferDoneFlag(gblLhld&,
lpDataBuffStat.lBuffNum)
If errnum& < 0 Then
MsgBox "AL_ClearBufferDoneFlag Error",
MB_ICONSTOP, "ADLIB Error"
Form_Unload (1)
End If
lblShowData.Caption = Format$(DataBuff(0), "0") '
print the counts
'lblShowVolts.Caption = Format$(EngUnits(0), "0.000")
+ " Volts" ' print the voltage
lblShowVolts.Caption = EngUnits(0)
ElseIf errnum& < 0 Then 'An error occured in the
AL_GetBufferStatus function call
MsgBox "AL_GetBufferStatus Error",
MB_ICONSTOP, "ADLIB Error"
Form_Unload (1)
End If

End Sub

Que dire de plus...
je ne sais pas trop

Si j'ai une question est ce que je peux rajouter a ce code
une commande me permettant d'enregistrer ce qui défile
dans la zone d'affichage des vols??

Merci beaucoup

Audrey
-----Message d'origine-----
..../...
tu parles de vb, tu as donc aussi une appli en vb6 ?
quelques opérations tu executes ? en gros c'est quoi ton

appli ? elle fait quoi
et ou ?

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Audrey" a écrit
dans le message de news:182901c426dc$8979ad90

$
Oui je m'en doute mais je ne sais pas trop ce qui pourrait
vous être utile pour vous expliquer ce dont il s'agit...
Alors si vous pouvait me dire...
Merci
Audrey
-----Message d'origine-----
bonjour
oui, mais il faidrait plus de détails sur ce code et le
contexte :o))


--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Audrey" a écrit
dans le message de news:198601c426d9$369dda90

$
Bonjour,

voilà j'ai un code visual basic qui fonctionne très bien,
je l'ai ensuite "adapté" en VBA, ety laà il fonctionne
toujours, mais, car il y a toujours un mais, il y a un
décalage de 30 à 80 secondes.
Je m'explique, ce code vise à réaliser des acquisitions
de


données, en VB l'acquisition se fait en temps réel, alors
qu'en VBA l'acquisition se fait bien mais avec un
décalage, donc quand je mesure une pile je n'ai la mesure
que 30 à 80 secondes plus tard... c'est un peu génant

Qui pourrait me dire d'où ça peux venir...
Merci
Audrey


.




.




Avatar
Pierre CFI [mvp]
je suis désolé mais j'ai du mal à cerner le probléme, je passe la main :o))

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
a écrit dans le message de news:197501c426e0$ee8b1a80$
Alors oui j'ai du code VB donc une application en VB6
Alors cette appli réalise, grace à une carte, des
acquisitions elle comporte un bouton start un stop, et
deux zones d'affichage, une au sujet des buffers, et
l'autres rapporte la mesure en volt
le code est le suivant:
Const lBoardNum& = 0 ' Board number as
specified in the adlib.con file

Private Sub cmdStartConvert_Click()

cmdStartConvert.Visible = 0
cmdStopConvert.Visible = 1
cmdStopConvert.Default = 1
tmrConvert.ENABLED = 0

errnum& = AL_StartDevice(gblLhld&)
If errnum& < 0 Then
MsgBox "AL_StartDevice Error", MB_ICONSTOP, "ADLIB
Error"
Form_Unload (1)
End If

tmrConvert.ENABLED = 1

End Sub

Private Sub cmdStopConvert_Click()

cmdStartConvert.Visible = 1
cmdStopConvert.Visible = 0

tmrConvert.ENABLED = 0
errnum& = AL_StopDevice(gblLhld&)
If errnum& < 0 Then
MsgBox "AL_StopDevice Error", MB_ICONSTOP, "ADLIB
Error"
Form_Unload (1)
End If

End Sub

Private Sub Form_Load()

errnum& = AL_LoadEnvironment
("C:AdlibAlWdmDriversPci55mfhrEXAMPLESPci5500
vbasicadlib.con")
If errnum& < 0 Then
MsgBox "AL_LoadEnvironment Error",
MB_ICONSTOP, "ADLIB Error"
Form_Unload (1)
End If

gblLhld& = AL_AllocateDevice("ADC0", BoardNum&)
If gblLhld& < 0 Then
MsgBox "AL_AllocateDevice Error", MB_ICONSTOP, "ADLIB
Error"
Form_Unload (1)
End If

errnum& = AL_InitDevice(gblLhld&)
If errnum& < 0 Then
MsgBox "AL_InitDevice Error", MB_ICONSTOP, "ADLIB
Error"
Form_Unload (1)
End If

End Sub

Private Sub Form_Unload(Cancel As Integer)

tmrConvert.ENABLED = 0

errnum& = AL_StopDevice(gblLhld&)
errnum& = AL_ReleaseDevice(gblLhld&)
If errnum& < 0 Then
MsgBox "AL_ReleaseDevice Error", MB_ICONSTOP, "ADLIB
Error"
End If
errnum& = AL_ReleaseEnvironment()
If errnum& < 0 Then
MsgBox "AL_ReleaseEnvironment Error",
MB_ICONSTOP, "ADLIB Error"
End If

End

End Sub




Private Sub tmrConvert_Timer()

' Collect the data and display

errnum& = AL_GetBufferStatus(gblLhld&, lpDataBuffStat,
DONE_BUFFER)
If errnum& = 1 Then 'The buffer is avaliable
' Check the status and error flags
If lpDataBuffStat.lStatusFlags <> BUFFER_FULL Then
Msg = "Incomplete Buffer Status = "
Msg = Msg & lpDataBuffStat.lStatusFlags
MsgBox Msg, MB_ICONSTOP, "ADLIB Buffer Status"
Form_Unload (1)
End If
If lpDataBuffStat.lErrorFlags <> 0 Then
Msg = "Buffer Error = "
Msg = Msg & lpDataBuffStat.lStatusFlags
MsgBox "Buffer Error", MB_ICONSTOP, "ADLIB Buffer
Error"
Form_Unload (1)
End If

errnum& = AL_CopyBuffer(gblLhld&,
lpDataBuffStat.lBuffNum, DataBuff(0), 0, 100)
If errnum& < 0 Then
MsgBox "AL_CopyBuffer Error", MB_ICONSTOP, "ADLIB
Error"
Form_Unload (1)
End If
errnum& = AL_DemuxDataSet(gblLhld&,
lpDataBuffStat.lBuffNum, EngUnits(0), 0, 1)
If errnum& < 0 Then
MsgBox "AL_DemuxDataSet Error", MB_ICONSTOP, "ADLIB
Error"
Form_Unload (1)
End If

errnum& = AL_ClearBufferDoneFlag(gblLhld&,
lpDataBuffStat.lBuffNum)
If errnum& < 0 Then
MsgBox "AL_ClearBufferDoneFlag Error",
MB_ICONSTOP, "ADLIB Error"
Form_Unload (1)
End If
lblShowData.Caption = Format$(DataBuff(0), "0") '
print the counts
'lblShowVolts.Caption = Format$(EngUnits(0), "0.000")
+ " Volts" ' print the voltage
lblShowVolts.Caption = EngUnits(0)
ElseIf errnum& < 0 Then 'An error occured in the
AL_GetBufferStatus function call
MsgBox "AL_GetBufferStatus Error",
MB_ICONSTOP, "ADLIB Error"
Form_Unload (1)
End If

End Sub

Que dire de plus...
je ne sais pas trop

Si j'ai une question est ce que je peux rajouter a ce code
une commande me permettant d'enregistrer ce qui défile
dans la zone d'affichage des vols??

Merci beaucoup

Audrey
-----Message d'origine-----
..../...
tu parles de vb, tu as donc aussi une appli en vb6 ?
quelques opérations tu executes ? en gros c'est quoi ton

appli ? elle fait quoi
et ou ?

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Audrey" a écrit
dans le message de news:182901c426dc$8979ad90

$
Oui je m'en doute mais je ne sais pas trop ce qui pourrait
vous être utile pour vous expliquer ce dont il s'agit...
Alors si vous pouvait me dire...
Merci
Audrey
-----Message d'origine-----
bonjour
oui, mais il faidrait plus de détails sur ce code et le
contexte :o))


--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Audrey" a écrit
dans le message de news:198601c426d9$369dda90

$
Bonjour,

voilà j'ai un code visual basic qui fonctionne très bien,
je l'ai ensuite "adapté" en VBA, ety laà il fonctionne
toujours, mais, car il y a toujours un mais, il y a un
décalage de 30 à 80 secondes.
Je m'explique, ce code vise à réaliser des acquisitions
de


données, en VB l'acquisition se fait en temps réel, alors
qu'en VBA l'acquisition se fait bien mais avec un
décalage, donc quand je mesure une pile je n'ai la mesure
que 30 à 80 secondes plus tard... c'est un peu génant

Qui pourrait me dire d'où ça peux venir...
Merci
Audrey


.




.




Avatar
Tant pis
Merci quand même

Audrey


-----Message d'origine-----
je suis désolé mais j'ai du mal à cerner le probléme, je
passe la main :o))


--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
a écrit dans le
message de news:197501c426e0$ee8b1a80$

Alors oui j'ai du code VB donc une application en VB6
Alors cette appli réalise, grace à une carte, des
acquisitions elle comporte un bouton start un stop, et
deux zones d'affichage, une au sujet des buffers, et
l'autres rapporte la mesure en volt
le code est le suivant:
Const lBoardNum& = 0 ' Board number as
specified in the adlib.con file

Private Sub cmdStartConvert_Click()

cmdStartConvert.Visible = 0
cmdStopConvert.Visible = 1
cmdStopConvert.Default = 1
tmrConvert.ENABLED = 0

errnum& = AL_StartDevice(gblLhld&)
If errnum& < 0 Then
MsgBox "AL_StartDevice Error", MB_ICONSTOP, "ADLIB
Error"
Form_Unload (1)
End If

tmrConvert.ENABLED = 1

End Sub

Private Sub cmdStopConvert_Click()

cmdStartConvert.Visible = 1
cmdStopConvert.Visible = 0

tmrConvert.ENABLED = 0
errnum& = AL_StopDevice(gblLhld&)
If errnum& < 0 Then
MsgBox "AL_StopDevice Error", MB_ICONSTOP, "ADLIB
Error"
Form_Unload (1)
End If

End Sub

Private Sub Form_Load()

errnum& = AL_LoadEnvironment
("C:AdlibAlWdmDriversPci55mfhrEXAMPLESPci5500
vbasicadlib.con")
If errnum& < 0 Then
MsgBox "AL_LoadEnvironment Error",
MB_ICONSTOP, "ADLIB Error"
Form_Unload (1)
End If

gblLhld& = AL_AllocateDevice("ADC0", BoardNum&)
If gblLhld& < 0 Then
MsgBox "AL_AllocateDevice Error", MB_ICONSTOP, "ADLIB
Error"
Form_Unload (1)
End If

errnum& = AL_InitDevice(gblLhld&)
If errnum& < 0 Then
MsgBox "AL_InitDevice Error", MB_ICONSTOP, "ADLIB
Error"
Form_Unload (1)
End If

End Sub

Private Sub Form_Unload(Cancel As Integer)

tmrConvert.ENABLED = 0

errnum& = AL_StopDevice(gblLhld&)
errnum& = AL_ReleaseDevice(gblLhld&)
If errnum& < 0 Then
MsgBox "AL_ReleaseDevice Error", MB_ICONSTOP, "ADLIB
Error"
End If
errnum& = AL_ReleaseEnvironment()
If errnum& < 0 Then
MsgBox "AL_ReleaseEnvironment Error",
MB_ICONSTOP, "ADLIB Error"
End If

End

End Sub




Private Sub tmrConvert_Timer()

' Collect the data and display

errnum& = AL_GetBufferStatus(gblLhld&, lpDataBuffStat,
DONE_BUFFER)
If errnum& = 1 Then 'The buffer is avaliable
' Check the status and error flags
If lpDataBuffStat.lStatusFlags <> BUFFER_FULL Then
Msg = "Incomplete Buffer Status = "
Msg = Msg & lpDataBuffStat.lStatusFlags
MsgBox Msg, MB_ICONSTOP, "ADLIB Buffer Status"
Form_Unload (1)
End If
If lpDataBuffStat.lErrorFlags <> 0 Then
Msg = "Buffer Error = "
Msg = Msg & lpDataBuffStat.lStatusFlags
MsgBox "Buffer Error", MB_ICONSTOP, "ADLIB Buffer
Error"
Form_Unload (1)
End If

errnum& = AL_CopyBuffer(gblLhld&,
lpDataBuffStat.lBuffNum, DataBuff(0), 0, 100)
If errnum& < 0 Then
MsgBox "AL_CopyBuffer Error", MB_ICONSTOP, "ADLIB
Error"
Form_Unload (1)
End If
errnum& = AL_DemuxDataSet(gblLhld&,
lpDataBuffStat.lBuffNum, EngUnits(0), 0, 1)
If errnum& < 0 Then
MsgBox "AL_DemuxDataSet Error", MB_ICONSTOP, "ADLIB
Error"
Form_Unload (1)
End If

errnum& = AL_ClearBufferDoneFlag(gblLhld&,
lpDataBuffStat.lBuffNum)
If errnum& < 0 Then
MsgBox "AL_ClearBufferDoneFlag Error",
MB_ICONSTOP, "ADLIB Error"
Form_Unload (1)
End If
lblShowData.Caption = Format$(DataBuff(0), "0") '
print the counts
'lblShowVolts.Caption = Format$(EngUnits(0), "0.000")
+ " Volts" ' print the voltage
lblShowVolts.Caption = EngUnits(0)
ElseIf errnum& < 0 Then 'An error occured in the
AL_GetBufferStatus function call
MsgBox "AL_GetBufferStatus Error",
MB_ICONSTOP, "ADLIB Error"
Form_Unload (1)
End If

End Sub

Que dire de plus...
je ne sais pas trop

Si j'ai une question est ce que je peux rajouter a ce code
une commande me permettant d'enregistrer ce qui défile
dans la zone d'affichage des vols??

Merci beaucoup

Audrey
-----Message d'origine-----
..../...
tu parles de vb, tu as donc aussi une appli en vb6 ?
quelques opérations tu executes ? en gros c'est quoi ton

appli ? elle fait quoi
et ou ?

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Audrey" a écrit
dans le message de news:182901c426dc$8979ad90

$
Oui je m'en doute mais je ne sais pas trop ce qui
pourrait


vous être utile pour vous expliquer ce dont il s'agit...
Alors si vous pouvait me dire...
Merci
Audrey
-----Message d'origine-----
bonjour
oui, mais il faidrait plus de détails sur ce code et le
contexte :o))


--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Audrey" a écrit
dans le message de news:198601c426d9$369dda90

$
Bonjour,

voilà j'ai un code visual basic qui fonctionne très
bien,



je l'ai ensuite "adapté" en VBA, ety laà il fonctionne
toujours, mais, car il y a toujours un mais, il y a un
décalage de 30 à 80 secondes.
Je m'explique, ce code vise à réaliser des acquisitions
de


données, en VB l'acquisition se fait en temps réel,
alors



qu'en VBA l'acquisition se fait bien mais avec un
décalage, donc quand je mesure une pile je n'ai la
mesure



que 30 à 80 secondes plus tard... c'est un peu génant

Qui pourrait me dire d'où ça peux venir...
Merci
Audrey


.




.




.





Avatar
Buddy
Salut
quelle version d'access tu utilises ?

Buddy

a écrit dans le message de
news:193801c426ea$5ab30160$
Tant pis
Merci quand même

Audrey


-----Message d'origine-----
je suis désolé mais j'ai du mal à cerner le probléme, je
passe la main :o))


--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
a écrit dans le
message de news:197501c426e0$ee8b1a80$

Alors oui j'ai du code VB donc une application en VB6
Alors cette appli réalise, grace à une carte, des
acquisitions elle comporte un bouton start un stop, et
deux zones d'affichage, une au sujet des buffers, et
l'autres rapporte la mesure en volt
le code est le suivant:
Const lBoardNum& = 0 ' Board number as
specified in the adlib.con file

Private Sub cmdStartConvert_Click()

cmdStartConvert.Visible = 0
cmdStopConvert.Visible = 1
cmdStopConvert.Default = 1
tmrConvert.ENABLED = 0

errnum& = AL_StartDevice(gblLhld&)
If errnum& < 0 Then
MsgBox "AL_StartDevice Error", MB_ICONSTOP, "ADLIB
Error"
Form_Unload (1)
End If

tmrConvert.ENABLED = 1

End Sub

Private Sub cmdStopConvert_Click()

cmdStartConvert.Visible = 1
cmdStopConvert.Visible = 0

tmrConvert.ENABLED = 0
errnum& = AL_StopDevice(gblLhld&)
If errnum& < 0 Then
MsgBox "AL_StopDevice Error", MB_ICONSTOP, "ADLIB
Error"
Form_Unload (1)
End If

End Sub

Private Sub Form_Load()

errnum& = AL_LoadEnvironment
("C:AdlibAlWdmDriversPci55mfhrEXAMPLESPci5500
vbasicadlib.con")
If errnum& < 0 Then
MsgBox "AL_LoadEnvironment Error",
MB_ICONSTOP, "ADLIB Error"
Form_Unload (1)
End If

gblLhld& = AL_AllocateDevice("ADC0", BoardNum&)
If gblLhld& < 0 Then
MsgBox "AL_AllocateDevice Error", MB_ICONSTOP, "ADLIB
Error"
Form_Unload (1)
End If

errnum& = AL_InitDevice(gblLhld&)
If errnum& < 0 Then
MsgBox "AL_InitDevice Error", MB_ICONSTOP, "ADLIB
Error"
Form_Unload (1)
End If

End Sub

Private Sub Form_Unload(Cancel As Integer)

tmrConvert.ENABLED = 0

errnum& = AL_StopDevice(gblLhld&)
errnum& = AL_ReleaseDevice(gblLhld&)
If errnum& < 0 Then
MsgBox "AL_ReleaseDevice Error", MB_ICONSTOP, "ADLIB
Error"
End If
errnum& = AL_ReleaseEnvironment()
If errnum& < 0 Then
MsgBox "AL_ReleaseEnvironment Error",
MB_ICONSTOP, "ADLIB Error"
End If

End

End Sub




Private Sub tmrConvert_Timer()

' Collect the data and display

errnum& = AL_GetBufferStatus(gblLhld&, lpDataBuffStat,
DONE_BUFFER)
If errnum& = 1 Then 'The buffer is avaliable
' Check the status and error flags
If lpDataBuffStat.lStatusFlags <> BUFFER_FULL Then
Msg = "Incomplete Buffer Status = "
Msg = Msg & lpDataBuffStat.lStatusFlags
MsgBox Msg, MB_ICONSTOP, "ADLIB Buffer Status"
Form_Unload (1)
End If
If lpDataBuffStat.lErrorFlags <> 0 Then
Msg = "Buffer Error = "
Msg = Msg & lpDataBuffStat.lStatusFlags
MsgBox "Buffer Error", MB_ICONSTOP, "ADLIB Buffer
Error"
Form_Unload (1)
End If

errnum& = AL_CopyBuffer(gblLhld&,
lpDataBuffStat.lBuffNum, DataBuff(0), 0, 100)
If errnum& < 0 Then
MsgBox "AL_CopyBuffer Error", MB_ICONSTOP, "ADLIB
Error"
Form_Unload (1)
End If
errnum& = AL_DemuxDataSet(gblLhld&,
lpDataBuffStat.lBuffNum, EngUnits(0), 0, 1)
If errnum& < 0 Then
MsgBox "AL_DemuxDataSet Error", MB_ICONSTOP, "ADLIB
Error"
Form_Unload (1)
End If

errnum& = AL_ClearBufferDoneFlag(gblLhld&,
lpDataBuffStat.lBuffNum)
If errnum& < 0 Then
MsgBox "AL_ClearBufferDoneFlag Error",
MB_ICONSTOP, "ADLIB Error"
Form_Unload (1)
End If
lblShowData.Caption = Format$(DataBuff(0), "0") '
print the counts
'lblShowVolts.Caption = Format$(EngUnits(0), "0.000")
+ " Volts" ' print the voltage
lblShowVolts.Caption = EngUnits(0)
ElseIf errnum& < 0 Then 'An error occured in the
AL_GetBufferStatus function call
MsgBox "AL_GetBufferStatus Error",
MB_ICONSTOP, "ADLIB Error"
Form_Unload (1)
End If

End Sub

Que dire de plus...
je ne sais pas trop

Si j'ai une question est ce que je peux rajouter a ce code
une commande me permettant d'enregistrer ce qui défile
dans la zone d'affichage des vols??

Merci beaucoup

Audrey
-----Message d'origine-----
..../...
tu parles de vb, tu as donc aussi une appli en vb6 ?
quelques opérations tu executes ? en gros c'est quoi ton

appli ? elle fait quoi
et ou ?

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Audrey" a écrit
dans le message de news:182901c426dc$8979ad90

$
Oui je m'en doute mais je ne sais pas trop ce qui
pourrait


vous être utile pour vous expliquer ce dont il s'agit...
Alors si vous pouvait me dire...
Merci
Audrey
-----Message d'origine-----
bonjour
oui, mais il faidrait plus de détails sur ce code et le
contexte :o))


--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Audrey" a écrit
dans le message de news:198601c426d9$369dda90

$
Bonjour,

voilà j'ai un code visual basic qui fonctionne très
bien,



je l'ai ensuite "adapté" en VBA, ety laà il fonctionne
toujours, mais, car il y a toujours un mais, il y a un
décalage de 30 à 80 secondes.
Je m'explique, ce code vise à réaliser des acquisitions
de


données, en VB l'acquisition se fait en temps réel,
alors



qu'en VBA l'acquisition se fait bien mais avec un
décalage, donc quand je mesure une pile je n'ai la
mesure



que 30 à 80 secondes plus tard... c'est un peu génant

Qui pourrait me dire d'où ça peux venir...
Merci
Audrey


.




.




.





Avatar
Daniel Carollo
Bonjour Audrey!

C'est toujours le meme projet dont vous parliez le mois dernier?

Si je puis me permettre, Access n'est vraiment pas l'outil adapte au
traitement des donnees en temps reel. En general, la capture se fait avec un
langage de bas niveau (C etait le favori il y a quelques annees, mais on
arrive a des performances acceptables en VB maintenant), et le traitement et
presentation se fait ensuite avec Access si besoin.

La technique que j'ai utilise de nombreuses fois est de realiser une
application en VB qui stocke les donnees dans la base mdb. Une application
developpee dans Access fait ensuite le reste du travail. On peut "marrier"
les deux en ayant des conversations sur les canaux DDE entre les deux
applications, pour demarrer et arreter la capture des donnees, par exemple,
et transmettre le status de l'application VB qui n'a pas obligatoirement une
interface visible a l'ecran.

Un des gros problemes avec Access est la gestion des interruptions en temps
reel. Je n'ai encore pas trouve des controles ActiveX qui fonctionnent bien
avec les cartes de capture dans un environnement Access.

Mettez des points d'impression du temps sur les appels de fonctions externes
pour verifier ou votre delai de 30 a 80 secondes se produit, les fontions
dont le prefixe est AL_ ...

J'espere que ca vous donne des pistes...

--
Daniel :-)

Computing Technologies International - www.computing-tech.com - We
provide solutions...

"Audrey" wrote in message
news:198601c426d9$369dda90$
Bonjour,

voilà j'ai un code visual basic qui fonctionne très bien,
je l'ai ensuite "adapté" en VBA, ety laà il fonctionne
toujours, mais, car il y a toujours un mais, il y a un
décalage de 30 à 80 secondes.
Je m'explique, ce code vise à réaliser des acquisitions de
données, en VB l'acquisition se fait en temps réel, alors
qu'en VBA l'acquisition se fait bien mais avec un
décalage, donc quand je mesure une pile je n'ai la mesure
que 30 à 80 secondes plus tard... c'est un peu génant

Qui pourrait me dire d'où ça peux venir...
Merci
Audrey
Avatar
Merci de m'avoir répondu

je pense en effet changer d'outil. Mais je ne suis pas
très sur d'en être capable :-)

Audrey
-----Message d'origine-----
Bonjour Audrey!

C'est toujours le meme projet dont vous parliez le mois
dernier?


Si je puis me permettre, Access n'est vraiment pas
l'outil adapte au

traitement des donnees en temps reel. En general, la
capture se fait avec un

langage de bas niveau (C etait le favori il y a quelques
annees, mais on

arrive a des performances acceptables en VB maintenant),
et le traitement et

presentation se fait ensuite avec Access si besoin.

La technique que j'ai utilise de nombreuses fois est de
realiser une

application en VB qui stocke les donnees dans la base
mdb. Une application

developpee dans Access fait ensuite le reste du travail.
On peut "marrier"

les deux en ayant des conversations sur les canaux DDE
entre les deux

applications, pour demarrer et arreter la capture des
donnees, par exemple,

et transmettre le status de l'application VB qui n'a pas
obligatoirement une

interface visible a l'ecran.

Un des gros problemes avec Access est la gestion des
interruptions en temps

reel. Je n'ai encore pas trouve des controles ActiveX qui
fonctionnent bien

avec les cartes de capture dans un environnement Access.

Mettez des points d'impression du temps sur les appels de
fonctions externes

pour verifier ou votre delai de 30 a 80 secondes se
produit, les fontions

dont le prefixe est AL_ ...

J'espere que ca vous donne des pistes...

--
Daniel :-)

Computing Technologies International - www.computing-
tech.com - We

provide solutions...

"Audrey" wrote in
message

news:198601c426d9$369dda90$
Bonjour,

voilà j'ai un code visual basic qui fonctionne très bien,
je l'ai ensuite "adapté" en VBA, ety laà il fonctionne
toujours, mais, car il y a toujours un mais, il y a un
décalage de 30 à 80 secondes.
Je m'explique, ce code vise à réaliser des acquisitions de
données, en VB l'acquisition se fait en temps réel, alors
qu'en VBA l'acquisition se fait bien mais avec un
décalage, donc quand je mesure une pile je n'ai la mesure
que 30 à 80 secondes plus tard... c'est un peu génant

Qui pourrait me dire d'où ça peux venir...
Merci
Audrey


.



Avatar
Salut,

il s'agit d'access 2000.

Cela peut il avoir une importance???

merci

Audrey