Nu gissar jag: Finns en bug i access. Lägger till ADO över DAO eller så skippar den referens til DAO helt.Type mismatch
När jag skapar en .mdb databas får jag ett type mismatch felmeddelande på denna rad
Set fldDef = tblDef.CreateField("Fältnamn", dbText)
När jag ändrade
Dim fldDef as Field
Till
Dim fldDef
så försvann felmeddelandet, vad kan detta ha för inverkan på min databas?
// AndersSv: Type mismatch
<code>
Dim fldDef as Field
Set fldDef = tblDef.CreateField("Fältnamn", dbText)
</code>
du skriver set fldDef = ... alltså tilldelar du fldDef en egenskap som skapas ifrån när du använder = tblDef.CreateField - stämmer det att denna funktion returnerar en fältdefinition och att den är egenskapen field.
Om det inte är så så försöker du påtvinga returvärdet att vara av datatypen field utan istället låta vb tilldela den typ som =tbldef.createfield egentligen gör åt dig.
När jag ändrar till Dim fdlDef så specificerar du inte vad för typ av objekt det skall vara vilket gör att du troligen även skulle kunna skriva Dim fldDef As Object.
Rätta mig gärna om jag har felSv: Type mismatch
Testa med:
<code>
Dim fldDef as DAO.Field
Set fldDef = tblDef.CreateField("Fältnamn", dbText)
</code>
Om du får felmeddelande på dim raden så saknar du referens till DAO.
Du kan oxå ordningen för dina referense och placera DAO över ADO.