Pular para o conteúdo principal

VB6 x MySQL - SELECT from two databases - Just one connection - (pt-BR: SELECT em dois bancos)

English:
Considering that your databases are both on the same server/instance, yes, you can get fields from two or more databases.
Remember: 
-for this example you are using MyODBC 3.51 like me (MySQL 32bits, so, MyODBC 32bits);
-your data source name is "store" and was properly set up;
-Reference: Microsoft ActiveX Data Objects 2.5 library

Português:

SELECT em dois bancos (desde que estejam no mesmo servidor e instância do MySQL)
Considere:
-Para este exemplo, estou usando o MyODBC 3.51 (MySQL de 32 bits, ODBC de 32bits)
-Referenciar: Microsoft ActiveX Data Objects 2.5 library
__________________________

Raw/didactic code (please, read this twice)


Private Sub getItemDescription(code as string)

Dim sql As String
sql = "SELECT dbStore.itens.description from dbCentral.itens, dbStore.itens " _
    + "WHERE dbStore.itens.BarCode = dbCentral.itens.BarCode " _
    + "AND dbStore.itens.BarCode = '" & code &  "';"
    
Dim con As ADODB.Connection
Dim table As New ADODB.Recordset

Set con = New ADODB.Connection

con.Open "Provider=MSDASQL.1;Persist Security Info=False;" _ 
          + "Data Source=store; Database=dbStore" 
table.Open sql, con

If Not (table.EOF) Then

    MsgBox table!description
End If

con.Close

set con = Nothing
End Sub
'-------------------------------------

If you are not using DSN (but MyODBC):

(pt-BR: Se não estiver usando Data Source Name, somente MyODBC)

Private Sub getItemDescription(code as string)

Dim sql As String
sql = "SELECT dbStore.itens.description from dbCentral.itens, dbStore.itens " _
    + "WHERE dbStore.itens.BarCode = dbCentral.itens.BarCode " _
    + "AND dbStore.itens.BarCode = '" & code &  "';"

    Dim cn As ADODB.Connection

    Dim mySQLConString As String
    Dim tbl As New ADODB.Recordset
    
    mySQLConString = "DRIVER={MySQL ODBC 3.51 Driver};" _
           + "SERVER=localhost;user=root;password=1234;" _
           + "Persist Security Info=False;Encrypt=yes"

    Set cn = New ADODB.Connection

    cn.Open (mySQLConString)
    
    tbl.Open sql, cn
    
    If Not (tbl.EOF) Then
        MsgBox tbl!description
    End If
    
    cn.Close
    Set cn = Nothing
End Sub

__________________________


Question: Why VB6?

Answer: just legacy code

Comentários

Postagens mais visitadas deste blog

Crystal Reports XI - VB6 - Permission Denied - Ou: Carregando imagens dinamicamente no Crystal Reports

(Trying) English version : Category: Tools __________________________ If you are trying to dinamically set an image into the control Picture (ICROleObject) and you are getting the error "Permission Denied" when you are using SetOleLocation method, I suggest you try this following code instead of SetOleLocation method: Private Sub Section1_Format(ByVal pFormattingInfo As Object)     Dim logofile As String     logofile = app.Path & "\logo.jpg"     If Dir$(file) <> "" Then     'File exists...         Set Picture2.FormattedPicture = LoadPicture(logofile)         'FormattedPicture method used instead of SetOleLocation...     Else         Picture2.Suppress = True 'If does not exist, suppress that control.     End If End Sub That error happens because your code is probably located on wrong event. It must be placed exactly on " SectionXXX_Format" event where picture object is. Português : Categoria: Ferramentas

Passando parâmetros para o Crystal Reports 8.5/11.5. Estrelando: O VB6.

Num cenário onde já se possui o relatório criado no Crystal e é necessário passar parâmetros via código pelo VB sem apresentar a tela de valores do CR e sem muita conversa, segue a solução minerada: Adicionar componentes: Crystal Report Viewer Control Crystal Activex Report Viewer Library 11.5 No Project Explorer, -Add -> Crystal Report Component (Relatório Existente) -Indique seu relatório previamente criado no Crystal -Informe "sim" para as opções de criar/inserir form com visualizador do relatório e alterar opção de start do projeto.(opcional) Não precisa criar fórmula ou parâmetro, basta passar o valor para o campo da tabela, conforme abaixo: Opção 1 de código: Simplesmente definir: Private Sub Form_Load()  CrystalReport1.EnableParameterPrompting = False  'Passando o parâmetro p/ "tabela.campo" - Inclua as chaves{}!  'Se preferir, concatene a uma textbox.text, por exemplo.  CrystalReport1.RecordSelectionFormula = "{compras.nCo

Ransomware WannaCry - Backups e mudança de hábitos

O Ransomwhare WannaCry é um vírus que criptografa e inutiliza os arquivos de uma empresa ou usuário comum e deixa as instruções de como proceder para restabelecer o acesso a estes arquivos, sempre cobrando valores que geralmente são relacionados com a importância e tamanho dos arquivos do usuário. Ele não sequestra absolutamente nenhum arquivo, os dados continuam no computador do usuário, mas criptografados... "embaralhados". O vírus  faz isso não somente com os arquivos que tem acesso no computador, mas em todos os outros computadores e dispositivos que tiverem COMPARTILHAMENTO aberto na rede (se o computador não tem compartilhamento ou se o compartilhamento é restrito (a usuário que não faz login no domínio), é impossível o vírus se instalar por manifestação própria ) .  É importante ressaltar que até mesmo as cópias de segurança armazenadas em HDs externos, pendrives E NUVEM (neste caso, por sincronização) serão afetados. Não é saudável, mas é importante im