Re: PostgreSQL and Access - relink - Mailing list pgsql-odbc

From Hakan Kocaman
Subject Re: PostgreSQL and Access - relink
Date
Msg-id 84AAD313D71B1D4F9EE20E739CC3B6EDE96F20@ATLANTIK-CL.intern.digame.de
Whole thread Raw
In response to PostgreSQL and Access - relink  ("Jonathan Blitz" <jb@anykey.co.il>)
List pgsql-odbc
Hi,

see codesnippet below.

we use this to relink tables which are partionend on month-base.
Views would be more elegant, but it's an legacy app, where we
sometimes put some effort to use the features of a real DBMS like PG.

The information about the tables(foeignname, localname,..) is in another table.

Public Function create_tbl_defs(foreign_name As String, local_name As String, Optional Aktuell As Boolean = True) As
Boolean

    Dim Monat As String
    Dim vormonat As String
    Dim db As DAO.Database
    Dim tdf As DAO.TableDef
    Dim strConnect As String
    Dim db_inf As db_info
    Dim rtn As Boolean

    'On Error GoTo create_tbl_defs_Error

    ' Prüfen ob es eine Monatstabelle ist die immer wieder neu eingebunden werden soll
    If Aktuell Then


        If InStr(local_name, "_aktuellv") > 0 Then
            ' Wenn der Localname mit aktellv aufhören sollte wird der vormonat genommen
            get_monext Monat, vormonat
            foreign_name = foreign_name & vormonat
        Else
            ' Der aktuelle Monat wird aus der tblmonate geholt
            get_monext Monat
            foreign_name = foreign_name & Monat

        End If
    End If

    ' Tabellen verknüpfen

    db_inf = get_db_info(gl_db_name)
    On Error Resume Next
    strConnect = "ODBC;DRIVER={PostgreSQL}" _
               & ";SERVER=" & db_inf.ip _
               & ";DATABASE=" & db_inf.dbname _
               & ";UID=" & db_inf.uid _
               & ";PWD=" & db_inf.pwd & ";"

    Set db = CurrentDb()
    Set tdf = db.CreateTableDef(local_name)
    tdf.SourceTableName = foreign_name

    tdf.connect = strConnect

    db.TableDefs.Append tdf
    db.TableDefs.Refresh

    'Application.RefreshDatabaseWindow

    If Err.Number = 3011 Then
        If MsgBox("Die Tabelle " & foreign_name & " konnte nicht gefunden werden." & _
                  vbCrLf & "Wahrscheinlich ist sie auf dem Server nicht vorhanden." & _
                  vbCrLf & "Soll das Einbinden der Tabellen abgebrochen werden (Ja) " & _
                  vbCrLf & "oder soll die Tabelle ignoriert werden (Nein)?", vbYesNo, "Tabelle nicht gefunden") = vbYes
_
                  Then
            rtn = False

        Else
            rtn = True
        End If

    Else
        If Err.Number <> 0 Then
            GoTo create_tbl_defs_Error
        Else
            rtn = True
        End If
    End If
    On Error GoTo 0
    Application.RefreshDatabaseWindow
    create_tbl_defs = rtn

    On Error GoTo 0
    Set tdf = Nothing
    Set db = Nothing
    Exit Function

create_tbl_defs_Error:

    MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure create_tbl_defs of VBA Dokument
Form_frmHauptseite"
    Set tdf = Nothing
    Set db = Nothing
    create_tbl_defs = False
End Function

HTH

Hakan Kocaman
Software-Development

digame.de GmbH
Richard-Byrd-Str. 4-8
50829 Köln

Tel.: +49 (0) 221 59 68 88 31
Fax: +49 (0) 221 59 68 88 98
Email: hakan.kocaman@digame.de



> -----Original Message-----
> From: pgsql-odbc-owner@postgresql.org
> [mailto:pgsql-odbc-owner@postgresql.org] On Behalf Of Jonathan Blitz
> Sent: Tuesday, April 18, 2006 4:57 PM
> To: pgsql-odbc@postgresql.org
> Subject: [ODBC] PostgreSQL and Access - relink
>
>
> I have an Access project linked to a PostgreSQL database
> (linked tables).
>
> I need to be able to switch dynamitically between one
> PostgreSQL database
> and another according to the request from the user.
>
> Anyone have any code that will do this?
>
> I assume it will require me to re-link all the tables.
>
> Jonathan Blitz
>
>
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 3: Have you checked our extensive FAQ?
>
>                http://www.postgresql.org/docs/faq
>

pgsql-odbc by date:

Previous
From: "Jonathan Blitz"
Date:
Subject: PostgreSQL and Access - relink
Next
From: "Campbell, Greg"
Date:
Subject: Re: PostgreSQL and Access - relink