none
Visual Basic Net prosim pomoc RRS feed

  • Dotaz

  • Dobrý den, su ztracen ... Primitivní kód :

    Dim myAccess As Access.Application
    mě hlásí chybu
    Type 'Access.Application' is not defined.

    zkoušel jsme reinstalovat Office, nainstaloval jsem Offie PIA (dle strýčka googla) zkontroloval reference a a NIC ...
    Pomůže mě prosím někdo ? Děkuji


    • Upravený Kyssling středa 15. února 2012 14:04 úprava
    středa 15. února 2012 14:01

Odpovědi

  • Heureka, nakonec me chodi :

            Dim myAcc As New Microsoft.Office.Interop.Access.Application

            myAcc.OpenCurrentDatabase(cestaAcc)
            myAcc.Visible = True

            myAcc.RefreshDatabaseWindow()

            myAcc.DoCmd.OpenReport(nazevReport, Microsoft.Office.Interop.Access.AcFormView.acPreview)

    čtvrtek 16. února 2012 23:09

Všechny reakce

  • http://msdn.microsoft.com/en-us/library/aa221653%28v=office.11%29.aspx

    .

    Dim appAccess As New Access.Application
    

    .

    nebo

    .

    Dim appAccess As Object
    Set appAccess = CreateObject("Access.Application")

    .


    JCH

    čtvrtek 16. února 2012 6:02
  • Dobrý den zkoušel jsem oboje ale nepomohlo to ...

    Dim appAccess As New Access.Application

    hlásí chybu

    Type 'Access.Application' is not defined.

    Druhý způsob :
    mě zas nedělá co potřebuji (otevřít z VBA sestavu v Accesu) :

    Dim appAccess As Object
    appAccess = CreateObject("Access.Application")
    .OpenCurrentDatabase(cestaAcc, False)
     .Visible = True  ' teď mám ještě správně otevřený Access soubor

    .DoCmd.OpenReport(nazevReport, appAccess.AcView.acViewPreview)

    Mě vyhodí  An unhandled exception of type 'System.MissingMemberException' occurred in microsoft.visualbasic.dll
    Additional information: Veøejný èlen AcView typu ApplicationClass nebyl nalezen.

    Děkuji moc za případnou další pomoc

    čtvrtek 16. února 2012 13:03
  • Dobrý den,

    myslím že na to jdete kompletně špatně. Syntaxe je:

    expr.OpenReport(ReportName, View, FilterName, WhereCondition, WindowMode, OpenArgs)

    expr is a required expression in this case DoCmd.

    ReportName is a required string variable. A variant string expression which is the name of a report in your database. If you run VBA code containing the OpenReport method in a library database, MS Access looks for the report with this name first in the library database and secondly in the current database.

    View Optional AcView is the mode in which the report opens.  Acview can be anyone of the following constants:
    • acViewDesign - shows the report in design mode ready for modification

    • acViewNormal (default)  Send the report to the current default printer queue

    • acViewPreview - shows the report on the screen

    To znamená že acViewPreview je konstatnta a nemá žádný smysl jí předřazovat nějaký ukazatel objektu. Co jste tím sledoval?


    JCH

    čtvrtek 16. února 2012 13:16
  • Dobrý den, ten kód dřív fungoval jak byl (bez úprav) ... Ale pak jsem v průběhu x-let musel instalovat Acces2000 pak Access2003 a nakonec Runtime2007. nyní jsem se k tomu vrátil a nejede. Reinstalace Accesu mě nepomohla (chyba v referencích u projektu??). Ale když je znovu vytvořím tak to nefunguje.

    u expr.OpenReport mě to hlásí - přesný kód :

         Dim appAccess As Object
            appAccess = CreateObject("Access.Application")
            
            appAccess.OpenCurrentDatabase(cestaAcc, False)
            appAccess.Visible = True
            appAccess.DoCmd.OpenReport(nazevReport, acViewPreview)

    po buildu : c:\Pohl306090\Form1.vb(1175): Name 'acViewPreview' is not declared.

    Můžete mě prosím ještě "trknout"

    čtvrtek 16. února 2012 17:00
  • Heureka, nakonec me chodi :

            Dim myAcc As New Microsoft.Office.Interop.Access.Application

            myAcc.OpenCurrentDatabase(cestaAcc)
            myAcc.Visible = True

            myAcc.RefreshDatabaseWindow()

            myAcc.DoCmd.OpenReport(nazevReport, Microsoft.Office.Interop.Access.AcFormView.acPreview)

    čtvrtek 16. února 2012 23:09