04. juli 2007 - 14:26Der er
2 kommentarer og 3 løsninger
Hvordan kædes flerbruger basemiljø sammen (programmeringsmæssig).
Det er også nødvendigt at kontrollere om ”base_data.mdb” ligger i samme katalog som ” base.mdb” og er kædet sammen (rigtige sti/navn).
Jeg har sat sti / navn op - men mangler at kunne sammenkæde databaserne (base.mdb & base_data.mdb) - og kontrollere at de 2 baser ikke er flyttet til et andet katalog siden sidst den var åbnet.
’ ****** Private Sub Form_Open(Cancel As Integer)
Dim intPos As Integer, Path, GetPath As String
Path = CurrentDb.Name ' Find hvor basen ligger intPos = Len(Path) ' Længde på stiNavnet & filNavnet Do Until Mid(Path, intPos, 1) = "\" ' Udskil sti & navn intPos = intPos - 1 Loop filNavn = Mid(Path, intPos + 1, Len(Path)) ' filNavn lagt globalt stiNavn = Mid(Path, 1, intPos) ' stiNavn lagt globalt
’ ****** SendKeys "%K" ' Åben Funktioner SendKeys "%F" ' Åben Basefunktioner SendKeys "%T" ' Åben til Styring af sammenkædning af tabeller SendKeys "%M" ' Marker alle SendKeys "%A" ' Aktivere søgning ' SendKeys "~" ' Enter ’ ****** men programmet kan ikke benytte dette under kørsel – kun i Designvisning. Har prøvet at lave en menu uden held – virker kun manuelt eller i Designvisning.
Det er noget af en opvisning programmet laver. Jeg har studeret det længe og fundet frem til at der er formeget "pop". Man når dårligt nok at se procentbaren. Hvad er jeg nødt til at have med for at lave den simple udgave jeg bruger pt. access 2003. RefreshLink kan ikke stå alene og jeg bruger ADODB.xxxx istedet for DAO.Database.
' Placering af BackEnd Data-filen i forhold til FrontEnd Const BackEndFilNavn As String = "BackEnd\The_Missing_LINKs_Data.mdb"
Public Function CheckMyLinks() Dim rs As DAO.Recordset Dim check As Boolean
On Error Resume Next ' Teksten "TS" er ikke et af tbl-navnene og bevirker at der kontrolleres hver gang Set rs = CurrentDb.OpenRecordset("TS") check = IIf(Err.Number = 0, True, False)
If Not check Then ' BackEnd findes vha. "RefreshLinks(GetCurrentPath() & BackEndFilNavn)" der ' bruger funktionerne "GetCurrentPath()" og "RefreshLinks" If Not RefreshLinks(GetCurrentPath() & BackEndFilNavn) = True Then MsgBox "Kunne ikke finde filen 'LinkBag.mdb'(BackEnd)." _ & vbNewLine & vbNewLine & "Filen skal ligge i kataloget 'BackEnd'." _ & vbNewLine & vbNewLine & "Kataloget 'BackEnd' skal ligge i sammen sted som 'FrontEnd'." End If End If rs.Close Set rs = Nothing
' Start Databasen DoCmd.OpenForm "frmTS_Links" End Function
Function GetCurrentPath() As String Dim Pos As Integer, path As String ' Find placeringen på databasen(stien) path = CurrentDb.Name Pos = Len(path) Do Until Mid(path, Pos, 1) = "\" Pos = Pos - 1 Loop GetCurrentPath = Left(path, Pos) End Function
Function RefreshLinks(strFilename As String) As Boolean
Dim db As DAO.Database Dim tdf As DAO.TableDef Dim intCount As Integer
' Opdater Links til BackEnd On Error GoTo ErrorHandler Set db = CurrentDb For intCount = 0 To db.TableDefs.Count - 1 Set tdf = db.TableDefs(intCount)
If Len(tdf.Connect) > 0 Then tdf.Connect = ";DATABASE=" & strFilename Err.Number = 0
On Error Resume Next tdf.RefreshLink
If Err.Number <> 0 Then RefreshLinks = False Exit Function End If End If Next intCount
RefreshLinks = True Exit Function
ErrorHandler: MsgBox "Error#: " & Err.Number & vbCrLf & Err.Description RefreshLinks = False End Function 2>>>>>>>>>>
Desværre føler jeg ikke at du kan tilkomme fuld valører for hjælpen.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.