vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevDataGrid - Gönnen Sie Ihrem SQL-Kommando diesen krönenden Abschluß!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
Re: Formcode in ein Modul 
Autor: Martin01
Datum: 14.04.03 15:25

'Modul
Option Explicit

Public Enum DriverTypeEnumeration
dtAccess97 = 0
dtAccess2000 = 1
dtOracle = 2
dtSQLServer = 3
End Enum

Public Function GetProvider(ByVal DType As DriverTypeEnumeration)
Select Case DType
Case dtAccess2000: GetProvider = "Microsoft.Jet.OLEDB.4.0"
Case dtAccess97: GetProvider = "Microsoft.Jet.OLEDB.3.51"
Case dtSQLServer: GetProvider = "SQLOLEDB.1"
Case dtOracle: GetProvider = "MSDAORA"
End Select
End Function

Public Function Endung(ByVal Datei As String) As String
Dim Z As Long

Z = InStrRev(Datei, ".")
If Z > 0 Then
Endung = Right$(Datei, Z)
End If
End Function

Public Function ExecuteSQL(ByVal SQL As String, ByVal Connection As ADODB.Connection) As ADODB.Recordset
On Error Resume Next
Dim cmd As New ADODB.Command

With cmd
.CommandType = adCmdText
.CommandText = SQL

Set .ActiveConnection = Connection
Set ExecuteSQL = .Execute
End With
End Function


Public Function Durchsuchen( _
ByRef cdopen As CommonDialog, _
ByRef FileName As String, _
ByRef dte As DriverTypeEnumeration) As Boolean
'Aufrufen:
'If Durchsuchen(Form1.CommonDialog1) Then
' cbbTyp.ListIndex = dte
' txtPfad.Text = FileName
' Else
' cbbTyp.ListIndex = -1
' txtPfad.Text = ""
'End If

On Error Resume Next

FileName = ""
Durchsuchen = False
With cdopen
.CancelError = True
.InitDir = App.Path
.ShowOpen
End With
If Err.Number Then ' = cdlCancel Then
Exit Function
End If

FileName = cdopen.FileName
If Len(FileName) = 0 Then
Exit Function
End If
Select Case LCase(Endung(FileName))
Case "mdb": dte = DriverTypeEnumeration.dtAccess2000
Case "MDB": dte = DriverTypeEnumeration.dtAccess2000
Case "sdb": dte = DriverTypeEnumeration.dtSQLServer
Case "ora": dte = DriverTypeEnumeration.dtOracle
Case Default: dte = DriverTypeEnumeration.dtAccess97
End Select
Durchsuchen = True
End Function


Public Function Speichern(ByVal Text As String) As Boolean
'Aufrufen:
' Speicheren("Text")
' Speicheren(txtsql.Text)

' If Speicheren("Text") Then ...
' If Speicheren(txtsql.Text) Then ...

On Error Resume Next

Dim Datei As String
Dim Pfad As String
Dim iFF As Integer

Speichern = False

Datei = InputBox("Geben Sie den Namen ein", "Speicher...")
If Len(Trim$(Datei)) = 0 Then
Exit Function
End If

Pfad = App.Path
If Right$(Pfad, 1) <> "\" Then
Pfad = Pfad & "\"
End If

iFF = FreeFile
Open Pfad & Datei For Output As iFF
Print #iFF, Text
Close #iFF

Speichern = Err.Number <> 0
End Function


Public Sub Ausführen( _
ByVal DateiPfad As String, _
ByVal SeverName As String, _
ByVal sqlBenutzer As String, _
ByVal sqlPasswort As String, _
ByVal sqlText As String, _
ByRef Form As Form, _
ByRef cbb As ComboBox, _
ByRef Flex As MSFlexGrid, _
byRef tbTabelle as ...)

'Aufrufen
'Ausführen(...)
On Error GoTo Ausführen_Catch

Dim Rs As New ADODB.Recordset
Dim Cn As New ADODB.Connection
Dim Fi As Field
Dim i As Long
Dim sMsg As String


Select Case cbbTyp.ListIndex
Case DriverTypeEnumeration.dtAccess97 ' 0 'access 97
With Cn
.CursorLocation = adUseClient
.Provider = "Microsoft.Jet.OLEDB.3.5"
.ConnectionString = "Data Source=" & DateiPfad
End With

Case DriverTypeEnumeration.dtAccess2000 ' 1 'access 2000
With Cn
.CursorLocation = adUseClient
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source=" & DateiPfad
End With

Case DriverTypeEnumeration.dtOracle '2 'oracle


Case DriverTypeEnumeration.dtSQLServer '3 'sql-server
With Cn
.Provider = GetProvider(cbbTyp.ListIndex)
.ConnectionString = "Data Source=" & sqlServerName & ";" & _
"User Id=" & sqlBenutzer & ";" & _
"Password=" & sqlPasswort & ";"
End With
End Select

Cn.Open
Set Rs = ExecuteSQL(sqlText, Cn)
If IsNull(Rs) = False Then
Set Flex.DataSource = Rs
For Each Fi In Rs.Fields
tbTabelle.Buttons(1).ButtonMenus.Add , Fi.Name, Fi.Name
Next
Form.Show (vbModal)
End If

Ausführen_Finalize:
Cn.Close
Exit Sub

Ausführen_Catch:
With Cn
For i = 0 To .Errors.Count - 1
sMsg = sMsg & .Errors(i).Description & vbCrLf
Next i
.Errors.Clear
End With
MsgBox sMsg, vbCritical, "Datenbankfehler"
End Sub
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Formcode in ein Modul177Friend14.04.03 09:38
Re: Formcode in ein Modul114Martin0114.04.03 15:25
Re: Formcode in ein Modul101Friend14.04.03 15:31
Re: Formcode in ein Modul91Martin0114.04.03 19:07

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel