Tomasz Kurnik

Właściciel, TEKA

Wypowiedzi

  • Tomasz Kurnik
    Wpis na grupie Ms Access w temacie Odświeżanie połączenia do tabeli bazy danych SQL Server
    16.03.2024, 10:23

    Cześć
    Ustanowiłem połączenie do tabeli bazy danych SQL Serwer za pośrednictwem komputerowego źródła danych.
    Tabela się pięknie podlinkowała. Mogę modyfikować dane, dodawać rekordy, usuwać itd itp.
    Problem powstaje przy próbie uruchomienia bazy danych na innym komputerze. Wiadomo, połączenie na nim nie działa i nie ma dostępu do tabeli SQL Server.
    Napisałem kod VBA odświeżający połączenie:
    Connect = "ODBC;DRIVER=SQL Server;SERVER=192.168.5.33;DATABASE=towary;UID=samson;PWD=123456789; TABLE=zywnosc"

    Kod uruchamiam przy otwarciu bazy danych i tabela się linkuje ale niestety w trybie tylko do odczytu.
    Nie mogę dodawać, usuwać ani modyfikować danych w tabeli.
    Gdzie popełniłem błąd?
    Proszę o pomoc
    Pozdrawiam
    Tomek

  • Tomasz Kurnik
    Wpis na grupie Ms Access w temacie Logowanie do tabel sql serwer
    12.03.2024, 09:03

    Dzień dobry

    dotyczy: Access2000

    Do łączenia się z tabelami sql server wykorzystuję kod Mariusza Sankowskiego, link:
    https://www.access.vis.pl/war322.htm

    Wszystko pięknie działa, mam tabele, widzę dane ale nie mogę ich modyfikować ani dodawać nowych rekordów. W bazie sql mam najwyższe uprawnienia.
    Poniżej wklejam kod, może ktoś coś zauważy:

    Option Compare Database
    Option Explicit

    Dim strDatabase$, strServer$
    Dim strUserId$, strPassword$

    Sub btnCancel_Click()

    On Error Resume Next
    Access.CurrentProject.OpenConnection ""
    Access.DoCmd.Quit acQuitSaveNone

    End Sub

    Private Sub btnLoguj_Click()
    Dim con As ADODB.Connection
    Dim strConnect$, strUser$
    Dim Response As Integer

    On Error GoTo Err_btnLoguj_Click

    Access.DoCmd.Hourglass True
    strDatabase = "integra"
    strServer = "192.168.5.33"
    strUserId = "admin"
    strPassword = "@MJp$73wz@SXZ/]yh+QC@&AU6Dq&"

    'powyższe dane przkładowe

    strConnect = _
    "Provider=SQLOLEDB.1" & _
    ";Persist Security Info=True"
    '";Persist Security Info=False"

    If Access.CurrentProject.Properties("TrustedConnection") Then
    strConnect = strConnect & _
    ";Integrated Security=SSPI"
    Else
    strConnect = strConnect & _
    ";User ID=" & strUserId & _
    ";Password=" & strPassword
    End If

    strConnect = strConnect & _
    ";Initial Catalog=" & strDatabase & _
    ";Data Source=" & strServer & _
    ";Network Library=dbmssocn"

    Set con = New ADODB.Connection
    With con
    .ConnectionString = strConnect
    .ConnectionTimeout = 10
    .Open
    End With

    Access.CurrentProject.OpenConnection strConnect
    With Access.CurrentProject.Properties
    .Add "DatabaseName", strDatabase
    .Add "ServerName", strServer
    .Add "UserId", strUserId
    End With

    VBA.MsgBox "Logowanie zakończone pomyślnie." & vbNewLine & vbNewLine & _
    "Connection:" & vbNewLine & _
    Access.CurrentProject.Connection & vbNewLine & vbNewLine & _
    "BaseConnectionString:" & vbNewLine & _
    Access.CurrentProject.BaseConnectionString, vbInformation

    Access.DoCmd.Close

    Exit_btnLoguj_Click:
    Access.DoCmd.Hourglass False
    On Error Resume Next
    con.Close
    Set con = Nothing
    Exit Sub
    Err_btnLoguj_Click:
    VBA.MsgBox "Error " & VBA.Err.Number & ": " & VBA.Err.Description, vbExclamation
    Resume Exit_btnLoguj_Click
    End Sub

    Private Sub chkTrusted_AfterUpdate()

    On Error GoTo Err_chkTrusted_AfterUpdate

    Me.txtUserId.Enabled = Not Me.chkTrusted
    Me.txtPassword.Enabled = Not Me.chkTrusted
    Access.CurrentProject.Properties.Add _
    "TrustedConnection", Me.chkTrusted

    Exit_chkTrusted_AfterUpdate:
    Exit Sub
    Err_chkTrusted_AfterUpdate:
    VBA.MsgBox "Error " & VBA.Err.Number & ": " & VBA.Err.Description, vbExclamation
    Resume Exit_chkTrusted_AfterUpdate
    End Sub

    Private Sub Form_Close()
    On Error GoTo Err_Form_Close

    If Access.CurrentProject.IsConnected = False Then btnCancel_Click

    Exit_Form_Close:
    Exit Sub
    Err_Form_Close:
    VBA.MsgBox "Error " & VBA.Err.Number & ": " & VBA.Err.Description, vbExclamation
    Resume Exit_Form_Close
    End Sub

    Sub Form_Open(Cancel As Integer)
    '---------------------------------------------------------------------------------
    'Read connection properties if they exist
    '---------------------------------------------------------------------------------
    Dim prp As Access.AccessObjectProperty

    On Error GoTo Err_Form_Open

    For Each prp In Access.CurrentProject.Properties

    Select Case prp.Name

    Case "DatabaseName": Me.txtDatabase.Value = prp.Value

    Case "ServerName": Me.txtServerName.Value = prp.Value

    Case "TrustedConnection"
    Me.chkTrusted = prp.Value
    Me.txtUserId.Enabled = Not Me.chkTrusted
    Me.txtPassword.Enabled = Not Me.chkTrusted

    Case "UserId": Me.txtUserId.Value = prp.Value

    End Select

    Next prp

    Exit_Form_Open:
    Exit Sub
    Err_Form_Open:
    VBA.MsgBox "Error " & VBA.Err & ": " & VBA.Err.Description, vbExclamation
    Resume Exit_Form_Open
    End Sub

  • Tomasz Kurnik
    Wpis na grupie Ms Access w temacie Podgląd pliku w formacie pdf
    2.12.2022, 07:54

    Baza została przekonwertowana do najnowszej wersji. Po konwersji dostałem komunikat, że jest to wersja 2007 ale baza otwiera się MSAccess365 w wersji najnowszej więc jeden problem z głowy.
    Pozostał największy:
    Jak wyświetlić podgląd pliku .pdf w formularzu?

  • Tomasz Kurnik
    Wpis na grupie Ms Access w temacie Podgląd pliku w formacie pdf
    1.12.2022, 15:27

    Witam
    Dotyczy: MsAccess 2000
    Chciałbym wyświetlać podglądy plików pdf w niezwiązanej ramce obiektu. Nie mam problemu z wyświetlaniem grafiki a komenda jest prosta:
    Forms!GenP!Obraz1.Picture = Me.ScRozlDok

    ScRozlDo to pole z ścieżką do pliku jpg, np:
    C:\PilikiPDF\100.jpg

    Szukałem rozwiązania tego typu ale w odniesieniu do plików pdf i poległem.
    Proszę o pomoc.

    Pozdrawiam
    Tomek

  • Tomasz Kurnik
    Wpis na grupie Bazy Danych w temacie CEIDG - pozyskiwanie danych o kontrahentach
    21.04.2021, 11:58

    Witam
    Czy może ktoś z Was szanowni grupowicze zmierzył się pozyskiwaniem danych o kontrahentach z CEiDG, np.: wg nr nip.
    Chodzi o zwrot danych o kontrahencie do formularza w msaccess.
    Temat ciekawy i rozwojowy więc możne kogoś zainteresuje i mi pomoże, a możne jakieś gotowe rozwiązania w vb application.
    Pozdrawiam
    Tomek

Dołącz do GoldenLine

Oferty pracy

Sprawdź aktualne oferty pracy

Aplikuj w łatwy sposób

Aplikuj jednym kliknięciem

Wyślij zaproszenie do