Toon posts:

[VB] Afvangen welke Jet-Engine een client heeft

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb me kreupel gezocht maar kan weinig vinden. Weet iemand hoe je kan afvangen welke Jet versie iemand gebruikt?

Ik heb bijv. 4.0 maar als ik dan een udl aanmaak dan maakt ie hem ook echt voor 4.0

Kan iemand mij helpen, of uiteraard een andere oplossing aandragen. Ik werk overigens niet met datacontrols. Alles wordt met de hand gescript, en de databaseconnectie loopt via een UDL.

  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 17:38

Gerco

Professional Newbie

Wat een UDL is weet ik niet, maar wat je wel kan doen is je prog niet aan een bepaalde Jet versie linken, maar late-binding gebruiken.

Je roept dus zoiets:
code:
1
2
3
4
5
6
7
8
Dim dbe as Object
Dim db  as Object

On error resume next
Set dbe = CreateObject("DAO.DBEngine.36") ' Jet 4.0
' ActiveX component cannot create Object
if Err.Number = 439 Then Set dbe = CreateObject("DAO.DBEngine.xx") ' Andere versie
Set db  = dbe.OpenDatabase("blaat.mdb")

Je hebt dan geen Intellisense, maar een andere manier om Jet-engine onafhankelijk te zijn ken ik zo ff niet :)

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


Verwijderd

Topicstarter
Kijk, een udl is wel errug makkelijk, oet je maar eens teste. Maak een nieuw tekst bestandje en rename deze naar een *.udl

Fff dubbel klikken, en ja. DSN-less verbinding!

Dank je wel, ga een ff kijken

  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 17:38

Gerco

Professional Newbie

Geef eens een voorbeeldje van hoe je zo'n UDL bestand in je prog gebruikt dan?

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


Verwijderd

Topicstarter
In een const

Public Const MyCon = "FILE NAME=c:\x.udl"


En dan in mijn code:

Set objRs = New ADODB.recordset
sSQL = ".............."
objRs.open sSQL, MyCon

'..............

objRs.close
Set objRs = nothing

Thats all, werkt ook uitstekend in ASP. Geen ODBC meer nodig. Gewoon een UDL verwijzing in een applicatie varretje, en klaar.

  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 17:38

Gerco

Professional Newbie

Aha... als je ADO gebruikt kun je toch gewoon een andere connection string opgeven en heb je helemaal geen last van dit hele probleem?

Dat heb je alleen als je aan een bepaalde DAO versie linkt (en dus NIET met ADO)

Of genereer (of pas aan) je .udl file on-the-fly, of lever er een stapeltje mee. Ik zie het probleem niet zo eerlijk gezegd.

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!

Pagina: 1