Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[VBA & SQL] Błąd z INNER JOIN.

Laik2013 29 Kwi 2015 11:19 516 6
  • #1 29 Kwi 2015 11:19
    Laik2013
    Poziom 11  

    Witam,

    Napisałem kod VBA który ma za zadanie porównać dane z 2 arkuszy.

    Do tego celu użyłem zewnętrznego pliku Excela jako bazy danych.

    Kod dziala super jeżeli używam 1 kwerendy gdzie nie ma INNER JOIN.

    Natomiast jeżeli chce użyć 2 kwerendy wyskakuje mi błąd że nie obsługuje JOIN.

    W references podpiąłem Microsoft Active X Data Objects 6.1 Liblary.

    Kod: vb
    Zaloguj się, aby zobaczyć kod



    Czy ktoś spotkał się już z takim problemem i może mi pomoc?

    Pozdrawiam

    0 6
  • Pomocny post
    #2 29 Kwi 2015 11:52
    -psiak-
    Poziom 32  

    Użyj prostszego polecenia i się nie męcz:

    Kod: sql
    Zaloguj się, aby zobaczyć kod

    0
  • #3 29 Kwi 2015 12:09
    Laik2013
    Poziom 11  

    Dzieki działa :)

    Czy wiesz może dlaczego JOIN nie działa?

    Pozdrawiam,

    0
  • #4 29 Kwi 2015 12:19
    marcinj12
    Poziom 40  

    A próbowałeś dać samo JOIN?

    0
  • #5 29 Kwi 2015 12:28
    Laik2013
    Poziom 11  

    Witam,

    Tak po wpisaniu

    query = "SELECT [DEU1$]![GUID] AS [SESA ID], [DEU1$]![First Name]" & pom3 & "[DEU1$]![Last Name] AS [BR EMPL NAME], [DEU2$]![First name]" & pom3 & "[DEU2$]![Last name] AS [IM EMPL NAME] FROM [DEU1$] JOIN [DEU2$] ON ([DEU1$]![GUID] = [DEU2$]![GUID]);"

    wyskakuje mi Syntax error po FROM

    0
  • Pomocny post
    #6 29 Kwi 2015 13:28
    marcinj12
    Poziom 40  

    Hmmm, zabawne, ale jak zamiast ! wpiszesz . (zamiast [DEU1$]![GUID] => [DEU1$].[GUID]), to zadziała (z INNER JOIN). :)
    Wykrzykniki do łączenia tabeli/arkusza z polem to taka bardziej Accessowa składnia kwerend, kropka to standard w "normalnych" SQLach.
    Przypuszczalnie za obsługę zapytania bez JOIN odpowiada jakiś inna procedura (silnik?), która obsługuje wykrzyknik, zaś JOIN przechodzi przez procedurę, która już tego nie obsługuje. Ot, magia standardów :)

    0
  • #7 29 Kwi 2015 14:13
    Laik2013
    Poziom 11  

    Witam,

    Masz racje zamiast ! wstawić . ---> działa :)

    Dzięki za pomoc!

    Pozdrawiam,

    0
  Szukaj w 5mln produktów