[VB6 + ADO] Index op fabricated recordset?

Pagina: 1
Acties:

  • Lorn
  • Registratie: Maart 2000
  • Laatst online: 13-01-2025

Lorn

I have a bad feeling...

Topicstarter
Ik zit met het volgende probleem: Ik wil op mijn fabricated recordset een index leggen. Nou heb ik hier een mooi boek liggen (Serious ADO: Universal Data Access with Visual Basic) en daar staat wel een methode in maar die wil niet werken. Ook met Google heb ik geen geluk gehad dus nu wend ik mij tot mijn mede Tweakers :) Is er iemand die weet of je een index kan aanmaken voor een fabricated recordset? Zie hieronder voor de code die ik nu heb.

Visual Basic:
1
2
3
4
  Set rstFunctions = New ADODB.Recordset
  Call rstFunctions.Fields.Append("FunctionID", adInteger)
  Call rstFunctions.Fields.Append("ExportID", adInteger)
  rstFunctions.Fields("FunctionID").Properties("OPTIMIZE").Value = True


Die laatste regel wil dus niet werken, VB geeft aan de property niet te kennen. Als ik ga kijken met de debug watch dan blijkt mijn field dus ook helemaal geen properties te hebben. Ben ik soms vergeten iets te specificeren of wil ik iets dat niet kan?

  • Lorn
  • Registratie: Maart 2000
  • Laatst online: 13-01-2025

Lorn

I have a bad feeling...

Topicstarter
Heb nog iets geprobeerd. Nadat ik mijn fabricated recordset heb gevuld met data heb ik via de method Save de gegevens op de hardeschijf opgeslagen. Vervolgens heb ik die data weer via een ander recordset ingelezen. Het recordset dat de gegevens heeft ingelezen kent wel de property 'Optimize' (samen met nog 8 andere).

In het kader van vindt de verschillen heb ik geprobeerd om te ontdekken wat nu het verschil is tussen de twee recordset en waarom de ene dus wel de property heeft en de andere niet. Van alle properties van de recordset zijn er maar twee verschillend, de property 'Maintain Status Change' en 'Source'. De laatste is natuurlijk makkelijk te verklaren daar het tweede recordset zijn data uit een bestand haalt.

Helaas heeft dus ook dit niet het gehoopte resultaat en ben ik nog altijd niet dichter bij de oplossing. Ik kan natuurlijk wel nadat ik mijn recordset heb gevuld deze wegschrijven naar een tijdelijk bestand en dan weer terug inlezen maar dat heeft niet mijn voorkeur.

  • Lorn
  • Registratie: Maart 2000
  • Laatst online: 13-01-2025

Lorn

I have a bad feeling...

Topicstarter
OK, probleem opgelost. Vanwege een ander probleem was ik aan het debuggen geslagen en kwam zo weer bij mijn fabricated recordset uit. Tot mijn grote verbazing hadden de fields toen opeens wel properties. Blijkbaar heb je geen field properties totdat je recordset ook daadwerkelijke data bevat? Maar goed, probleem opgelost en heb zo toch weer wat geleerd :)