Avatar billede hnto Nybegynder
04. november 2002 - 10:56 Der er 23 kommentarer og
1 løsning

VBA access 97

kan man ikke i VBA sige flg. statement.
jeg får en variabel not defined ?

Text3.Value = DoCmd.RunSQL("bla bla")
Avatar billede hnto Nybegynder
04. november 2002 - 10:57 #1
fejlen er 'expected function or variabel'
Avatar billede proaccess Nybegynder
04. november 2002 - 10:59 #2
Umidelbart vil jeg sige: "NEJ"...

Du kan derimod:
Text3.Value = DFirst("[feltnavn]", "tabelnavn", "betingelse")

Fx.
Text3.Value = DFirst("[Fornavn]", "Kunder", "[Distrikt]=300 AND [Omsætning]>50000")
Avatar billede rosted Nybegynder
04. november 2002 - 11:01 #3
DoCmd.RunSQL() kan kun bruges til "Action-queries". Dvs. ikke til Select sætninger. Gør som proaccess foreslår.
Avatar billede proaccess Nybegynder
04. november 2002 - 11:05 #4
Public Function getFirst(strSQL As String) As String
  Dim db As Database, ra As Recordset
  Set db = CurrentDb
  Set ra = db.OpenRecordset(strSQL)
  If Not ra.EOF Then
    getFirst = ra(0)
  End If
End Function

Så kan du bruge:
Text3.value = getFirst("SELECT Fornavn FROM Kunder WHERE Distrikt=300 AND Omsætning>50000")
Avatar billede proaccess Nybegynder
04. november 2002 - 11:06 #5
Man må nok også hellere huske at sætte ra og db = nothing i slutningen af funktionen...  (bare for god ordens skyld)

Public Function getFirst(strSQL As String) As String
  Dim db As Database, ra As Recordset
  Set db = CurrentDb
  Set ra = db.OpenRecordset(strSQL)
  If Not ra.EOF Then
    getFirst = ra(0)
  End If
  Set ra = Nothing
  Set db = Nothing
End Function
Avatar billede hnto Nybegynder
04. november 2002 - 11:11 #6
nu har jeg gjort sådan :

Text8.Value = DFirst("[Debtor nr]", "T_main1", "Turnover" > 0)

den får en type mismatch ??
Avatar billede proaccess Nybegynder
04. november 2002 - 11:12 #7
Text8.Value = DFirst("[Debitor nr]", "T-main1", "Turnover>0")
Avatar billede hnto Nybegynder
04. november 2002 - 11:18 #8
den skriver den ikke kan finde T_main, mn den er go' nok ?
Avatar billede proaccess Nybegynder
04. november 2002 - 11:20 #9
du skal bruge den bindestreg, som du har brugt i tabel-navnet...

        _ eller -    (Der er jo forskel)
Avatar billede hnto Nybegynder
04. november 2002 - 11:25 #10
her er det rigtige MEn...

Text8.Value = DFirst("[Debtor nr]", "T_main1", "Turnover>0")

fejl :
You cant assign a value to this object.
Avatar billede proaccess Nybegynder
04. november 2002 - 11:26 #11
Så må du prøve at fjerne .Value

Text8 = DFirst("[Debitor nr]", "T_main1", "Turnover>0")
Avatar billede hnto Nybegynder
04. november 2002 - 11:28 #12
nope det duer heller ikke.
Avatar billede proaccess Nybegynder
04. november 2002 - 11:31 #13
Alle gode gange 3 (eller 34)...

Text8.Text = DFirst("[Debitor nr]", "T_main1", "Turnover>0")
Avatar billede hnto Nybegynder
04. november 2002 - 11:31 #14
hvis jeg læser om first i hjælpen ligner det for mig heller ikke en funktion der kan bruges idet den returnerer en vilkårlig værdi. Jeg er jo interesseret i en form for count. !
Avatar billede proaccess Nybegynder
04. november 2002 - 11:33 #15
HVOR SKRIVER DU NOGET OM COUNT ???

Text8.Text = DCount("[Debitor nr]", "T_Main1", "Turnover>0")
Avatar billede proaccess Nybegynder
04. november 2002 - 11:33 #16
Og nu HAR du vel et tekst-felt, som hedder Text8 ???
Avatar billede hnto Nybegynder
04. november 2002 - 11:34 #17
nope...

you cant reference a property or method for a control unless the control has the focus..

forpulede l...
Avatar billede hnto Nybegynder
04. november 2002 - 11:35 #18
yes of course.... har jeg et text felt der hedder 8
Avatar billede proaccess Nybegynder
04. november 2002 - 11:36 #19
OK - Det er focus-problemet...

Me.Text8 = DCount("[Debitor nr]", "T_main1", "Turnover>0")
Avatar billede hnto Nybegynder
04. november 2002 - 11:50 #20
he he...

fejl :
You cant assign a value to this object.

er du ved at kold  *G*
Avatar billede hnto Nybegynder
04. november 2002 - 11:55 #21
betyder det noget at det er en rapport jeg koder i ?
Avatar billede proaccess Nybegynder
04. november 2002 - 11:57 #22
Er koden på den samme formular/rapport som Text8 ??
og er formularen/rapporten åben ??

Du skal evt. bruge "fuld" notation:
Reports(rapportnavn).Text8 = ...
Forms(formularnavn).Text8 = ...

Men nu er vi derude, hvor jeg ikke kan "bunde" via nettet... Jeg kan jo ikke overskue DIN database, fra min plads, og har desværre ikke tiden til at hente den ned og rette til...  ;-(
Avatar billede hnto Nybegynder
04. november 2002 - 12:26 #23
jeg prøver men din indsats er de 15 point værd.
Avatar billede proaccess Nybegynder
04. november 2002 - 12:55 #24
takker ;-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester