Van | : | Jan101477 | Datum | : | 11-09-2007 |
Aan | : | Peter | MsgID | : | 3557.1 |
Onderwerp | : | Query | Forum | : | ws-nlcomputer |
datQueryBijwerkenSlotKoers.DatabaseName = "E:\VB\Prive\Beleggen\frmInvestor.KoersVoorspelling.mdb"
frmInvestor.datQueryBijwerkenSlotKoers.RecordSource = "SELECT * FROM KoersVoorspelling WHERE SlotKoers = 0 And Datum(i, 1) = BerekendeDatum And Aandeel = Left$(FondsenMatrix(i, 1), 8)"
datQueryBijwerkenSlotKoers is een data control.Van | : | Peter | Datum | : | 11-09-2007 |
Aan | : | Jan101477 | MsgID | : | 3557.2 |
Onderwerp | : | Query | Forum | : | ws-nlcomputer |
Dim sQuery As String
sQuery = "SELECT * FROM KoersVoorspelling WHERE SlotKoers = 0 And '" & Datum(i, 1) & "' = BerekendeDatum And Aandeel = '" & Left$(FondsenMatrix(i, 1), 8) & "'"
frmInvestor.datQueryBijwerkenSlotKoers.RecordSource = sQuery
>>de fout dat FondsenMatrix(i, 1) niet gedefinieerd is,<<Van | : | Jan101477 | Datum | : | 11-09-2007 |
Aan | : | Peter | MsgID | : | 3557.3 |
Onderwerp | : | Query | Forum | : | ws-nlcomputer |
Van | : | Peter | Datum | : | 11-09-2007 |
Aan | : | Jan101477 | MsgID | : | 3557.4 |
Onderwerp | : | Query | Forum | : | ws-nlcomputer |
SELECT * FROM KoersVoorspelling WHERE SlotKoers = 0 And '20070911' = BerekendeDatum And Aandeel = 'AAB'
Van | : | Jan101477 | Datum | : | 12-09-2007 |
Aan | : | Peter | MsgID | : | 3557.5 |
Onderwerp | : | Query | Forum | : | ws-nlcomputer |
Van | : | Michel Uphoff (Sysop) | Datum | : | 12-09-2007 |
Aan | : | Jan101477 | MsgID | : | 3557.6 |
Onderwerp | : | Query | Forum | : | ws-nlcomputer |
If Dir$("filenaam.ext") <> "" Then
If InStr(1, variabele met filenaam, ".") < 8 then Alarm
else
Alarm
End if
Van | : | Peter | Datum | : | 12-09-2007 |
Aan | : | Jan101477 | MsgID | : | 3557.7 |
Onderwerp | : | Query | Forum | : | ws-nlcomputer |
Bijlagen :
Bericht 8 van 17 NL Computer Forum ~ SQL & Programmeren
De declaratie van FondsenMatrix() is gedaan in de General declarations section van een module en is gedeclareerd als Global. Dus zou het programma die moeten herkennen wanneer gebruikt in de formulering van de query. Maar het systeem blijft zeuren dat FondsenMatrix niet gedefinieerd is. Kennelijk verwacht de query een ander soort gegeven dan een tekst in een arraycel. BerekendeDatum herkent hij wel hoewel dat toch ook een variabele is waaraan een waarde is toegekend. Groeten, Jan |
Van | : | Peter | Datum | : | 15-09-2007 |
Aan | : | Jan101477 | MsgID | : | 3557.9 |
Onderwerp | : | Query | Forum | : | ws-nlcomputer |
toon de onder en bovengrens van Fondsenmatrix()
MsgBox LBound(FondsenMatrix, 1) & vbCrLf & UBound(FondsenMatrix, 1)
MsgBox LBound(FondsenMatrix, 2) & vbCrLf & UBound(FondsenMatrix, 2)
Maak van de code waarin de query bepaald wordt eventueel eerst commentaar zodat bovenstaande 2 regels wel uitgevoerd kunnen worden.Van | : | Jan101477 | Datum | : | 17-09-2007 |
Aan | : | Allen | MsgID | : | 3557.10 |
Onderwerp | : | Query | Forum | : | ws-nlcomputer |
Bijlagen :
Bericht 11 van 17 NL Computer Forum ~ SQL & Programmeren
De matrix is global gedeclareerd, waarom staat ie dan in de aanroep van de routine? Dat is onzinnig! Verplaats de 2 msgboxen vooraan in de sub direct na de regel ReDim FondsenMatrix(NumRegels(1), 3) Welke getallen worden nu gemeldt? >>Het lijkt erop dat de waarde in FondsenMatrix(i, 1) niet geaccepteerd wordt. Moet deze tussen "" en "" staan? << De sQuery die je nu krijgt is: |
SELECT * FROM KoersVoorspelling WHERE SlotKoers = 0 And Datum(i, 1) = BerekendeDatum And Aandeel = FondsNaam
Je wilt dus:
sQuery = "SELECT * FROM KoersVoorspelling WHERE SlotKoers = 0 And '" & Datum(i, 1) & "' = " & BerekendeDatum & " And Aandeel = '" & FondsNaam & "'"
Het kan zijn dat het teken ' (=chr(39)) vervangen moet worden door " (=chr(34))If ernum & " " & Err.Description & " " & Foutbron & " " & NaamFonds(1) <> VorigeFout ThenBeter en eenvoudiger is:
FoutBijwerkenSlotkoersDBKoersVoorspelling:
ernum = Err.Number & Chr(32) & Err.Description & " in BijwerkenSlotkoersDBKoersVoorspelling:" & NaamFonds(1)
If ernum <> VorigeFout Then
Call frmInvestor.WriteLog("---< " & App.Title & " geeft >---" & ernum)
VorigeFout = ernum
Resume Next
Else
CloseFile (filename)
Exit Sub
End If
Van | : | Jan101477 | Datum | : | 18-09-2007 |
Aan | : | Peter | MsgID | : | 3557.12 |
Onderwerp | : | Query | Forum | : | ws-nlcomputer |
sQuery = "SELECT * FROM KoersVoorspelling WHERE SlotKoers = 0 And '" & Datum(i, 1) & "' = " & BerekendeDatum & " And Aandeel = '" & FondsNaam & "'"
Nee, dat wik ik niet. Ik wilsQuery = "SELECT * FROM KoersVoorspelling WHERE SlotKoers = 0 And Datum(i, 1) = BerekendeDatum And Aandeel = FondsNaam"
waarbij Fondsnaam bijv. "AAB "
Van | : | Peter | Datum | : | 18-09-2007 |
Aan | : | Jan101477 | MsgID | : | 3557.13 |
Onderwerp | : | Query | Forum | : | ws-nlcomputer |
FondsNaam = "AAB "
sQuery = "SELECT * FROM KoersVoorspelling WHERE SlotKoers = 0 And Datum(i, 1) = BerekendeDatum And Aandeel = " & Chr(34) & FondsNaam & Chr(34)
krijg je de sQuery string:SELECT * FROM KoersVoorspelling WHERE SlotKoers = 0 And Datum(i, 1) = BerekendeDatum And Aandeel = "AAB "
Van | : | Jan101477 | Datum | : | 18-09-2007 |
Aan | : | Peter | MsgID | : | 3557.14 |
Onderwerp | : | Query | Forum | : | ws-nlcomputer |
Van | : | Peter | Datum | : | 18-09-2007 |
Aan | : | Jan101477 | MsgID | : | 3557.15 |
Onderwerp | : | Query | Forum | : | ws-nlcomputer |
sQuery = "SELECT * FROM KoersVoorspelling WHERE SlotKoers = 0 And " & Chr(34) & Datum(i, 1) & Chr(34) & " = BerekendeDatum And Aandeel = " & Chr(34) & FondsNaam & Chr(34)
Waarschijnlijk geeft VB de foutmelding Error 91 ook niet meer op de regel Van | : | Jan101477 | Datum | : | 19-09-2007 |
Aan | : | Peter | MsgID | : | 3557.16 |
Onderwerp | : | Query | Forum | : | ws-nlcomputer |
Van | : | Peter | Datum | : | 19-09-2007 |
Aan | : | Jan101477 | MsgID | : | 3557.17 |
Onderwerp | : | Query | Forum | : | ws-nlcomputer |
sQuery = "SELECT * FROM KoersVoorspelling WHERE [SlotKoers] = '0' And [Aandeel] = " & Chr(39) & FondsNaam & Chr(39)