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

[Rozwiązano] [VBA Excel] Nazwany obszar

11 Mar 2020 20:49 222 9
  • Poziom 22  
    Mam makro, które wykonuje zapytanie SQL na pewnym arkuszu i to działa. Zamieniam Arkusz na nazwany obszar i ... nie działa. Nazwa istnieje, mogę wykonać Select, ale motor bazy go nie widzi. Dotyczy to tylko tego jednego obszaru, inne działają. Co może być nie tak? Całego pliku niestety nie mogę pokazać.
  • Poziom 22  
    Robię tak:
    Kod: vbscript
    Zaloguj się, aby zobaczyć kod


    I ten Select się wykonuje prawidłowo. Potem wołam procedurę wykonującą SQL i błąd. Moim zdaniem reszta kodu naprawdę nie ma znaczenia. A fragment testujący ten przypadek mogę oczywiście pokazać, tylko czy to coś wniesie?
    Jak już pisałem jeżeli użyję ["R$"] to działa, ale z tą nazwą jest bardziej elastycznie.
  • Poziom 29  
    Swobodne gdybanie ... a próbowałeś może z:
    Kod: vbscript
    Zaloguj się, aby zobaczyć kod
    ?
    A potem:
    Kod: vbscript
    Zaloguj się, aby zobaczyć kod
    ?
  • Pomocny post
    Poziom 38  
    Ciekawy temat.
    Po wykonaniu kilku testów zauważyłem, że jak nazwa arkusza jest "R", to kod się sypie.
    Zmień nazwę arkusza na RR i będzie działać.
    Wygląda na jakiś 'bug'.
  • Poziom 22  
    Dzięki wielkie. Tam nie szukałem. Próbowałem zmieniać nazwę obszaru i parę innych rzeczy, ale innej nazwy arkusza nie sprawdziłem. :)
  • Poziom 22  
    Niestety mam kolejny taki sam przypadek. Tym razem inny plik, arkusz nie nazywa się R tylko ABC (próbowałem z różnymi nazwami), a obszar Xy (też próbowałem zmieniać). Muszę zrozumieć dlaczego jest błąd, bo chyba musi być jakiś sensowny powód. Na co jeszcze zwrócić uwagę, skończyły mi się pomysły.
    Ogólnie to bardzo fajna metoda, daje duże możliwości: nazwać obszar(-y) i obrabiać go SQLem, ale to musi działać pewnie w 100%, a tu taki błąd.
  • Pomocny post
    Poziom 38  
    Tym razem, to nie jest taki sam przypadek. Poniższy kod działa.

    Kod: vbscript
    Zaloguj się, aby zobaczyć kod
  • Poziom 22  
    Fakt, działa ale tylko dopóki nie wkleję swoich danych. Problem musi być właśnie w danych a nie w nazwach czy zapisie. Próbowałem na nowym pliku i na przykładowej małej tablicy działa i Twój i mój test. Po wklejeniu danych jest błąd. Co sprawdzać? Mam tego ponad 86000 wierszy. Wygląda że nie obsługuje więcej niż 64k wierszy. Zrobiłem tablicę z 1 kolumną i jest błąd, po usunięciu wierszy > 63000 działa.
  • Poziom 22  
    Fakt, działa ale tylko dopóki nie wkleję swoich danych. Problem musi być właśnie w danych a nie w nazwach czy zapisie. Próbowałem na nowym pliku i na przykładowej małej tablicy działa i Twój i mój test. Po wklejeniu danych jest błąd. Co sprawdzać? Mam tego ponad 86000 wierszy. Wygląda że nie obsługuje więcej niż 64k wierszy. Zrobiłem tablicę z 1 kolumną i jest błąd, po usunięciu wierszy > 63000 działa.

    Dodano po 1 [godziny] 42 [minuty]:

    To jest brak konsekwencji M$, niby nie ma limitu na tworzenie nazwanych obszarów, ale za dużego nie da się użyć do SQLa. Trzeba będzie o tym pamiętać.