Partyflock
 
Forumonderwerp · 763676
 
Waarschuw beheerder
okee, maar weer eens een VB probleem waar ik tegenaan loop.

wanneer ik onderstaande source run, dan krijg ik de melding dat de jet engine de tabel Temp niet kan vinden en daarom niet in de datagrid kan laten zien.

kijk ik echter in acces in de database dan wordt die tabel wel degelijk aangemaakt.

Private Sub Form_Load()
Dim strSQL As String

' hieronder worden de trades die bij het CUSTUMORID van de desbetreffende klant horen, geselecteerd en
' daarna in de tabel TEMP gezet.




Text1.Text = voornaam
Text2.Text = achternaam
Text3.Text = rekeningnummer
Text5.Text = klantid

Label4.Caption = Date

Set db = OpenDatabase("C:\tooltje\db1_97.mdb")
Set rs = db.OpenRecordset("Custumors", dbOpenTable)
Set rs1 = db.OpenRecordset("Account", dbOpenTable)
Set rs2 = db.OpenRecordset("AccountInitialValue", dbOpenTable)
Set rs3 = db.OpenRecordset("Trades", dbOpenTable)


db.Execute (" drop table Temp")
strSQL = "select [start price], [end price] ,[volume], [stop loss] into [Temp] from trades where volume <> 0 and CustumorID = " & klantid
db.Execute (strSQL)
db.Close


Set db = OpenDatabase("C:\tooltje\db1_97.mdb")
Set rs4 = db.OpenRecordset("Temp", dbOpenTable)
rs4.Close

'datastring = "select [Reference_Nr], [soorttrade], [start price], [end price], [stop loss], [openclosed],[deposit],[withdrawl], [currency] from Trades where [CustumorID] = " & klantid

Set rs4 = db.OpenRecordset("Temp", dbOpenTable)
rs4.MoveFirst
datastring = "select volume from [Temp]"
'Data1.RecordSource = rs4.Fields("volume")
Data1.RecordSource = datastring
Data1.Refresh


Text8.Text = rs4.Fields("volume")

End Sub
Waarschuw beheerder
ik word hier echt zoooooooooo horny van :kwijl:
 
Waarschuw beheerder
ja geile praat he :jaja:
 
Waarschuw beheerder
up.
Artiest M@ck
Waarschuw beheerder
Met het "drop table [tabel]" sql statement verwijder je de gehele tabel uit de database, niet enkel de inhoud.

Ik neem aan dat de tabel gewoon leeg wilt halen voor gebruik? Gebruik dan "delete from [Temp]"
 
Waarschuw beheerder
nee, ik wil hem verwijderen.
maar dat zou in principe toch niet uit moeten maken?
ik verwijder hem welliswaar, maar daarna wordt hij weer aangemaakt en daarna pas aangeroepen..


maar dat werkt dus niet.
Waarschuw beheerder
Ik zie anders nergens een "create table" statement in je stukje voorbeeld...

Wat dacht je van:
create table Temp as (
select [start price], [end price] ,[volume], [stop loss] from trades where volume <> 0 and CustumorID = " & klantid
)

Zo maak je een tabel Temp aan met inhoud van de query...

ps: wat is een "custumor" ?! :)
 
Waarschuw beheerder
strSQL = "select [start price], [end price] ,[volume], [stop loss] into [Temp] from trades where volume <> 0 and CustumorID = " & klantid



hier wordt de tabel Temp toch aangemaakt met INTO?


ps: wat is een "custumor" ?!


:$
 
Waarschuw beheerder
create table Temp as (
select [start price], [end price] ,[volume], [stop loss] from trades where volume <> 0 and CustumorID = " & klantid
)



als ik hier db.execute voorzet dan gebeurt er vrij weinig...
laatste aanpassing
Waarschuw beheerder
*bloos* eh...ja, je hebt gelijk. Dacht ff dat het select into statement geen nieuwe tabel aanmaakte in access..doet 't dus wel. :)

Kan je er ook niet bij als je de connectie van db niet tussentijds afsluit?


dat "create table ..." stateament doet hetelfde als jouw "select ... into" statement
laatste aanpassing
 
Waarschuw beheerder
nee dat had ik dus eerst ook.
dat werkte niet. dus heb ik geprobeerd om de connectie een keer te sluiten en dan weer te openen.