2016-09-02 38 views
6

Używam wersji MS Access 1997 (.mdb plik). Codziennie muszę wstawiać wartości ręcznie. W tym pliku znajduje się kolumna Logical (typ danych Boolean). Zautomatyzuję ten szablon za pomocą zapytania SQL zamiast bezpośredniego wprowadzania.MS Access/SQL: błąd w zapytaniu o wstawienie zapytania

Poniżej jest moje zapytanie insert:

Insert Into Data_CustomerTransmit_Tbl (Logical) 
Values (" & Logicalnme & ") 

Wartości:

Logicalnme - True 

Kiedy uruchomić tę kwerendę w VBA w Excelu, dostaję ten komunikat o błędzie

Błąd składni w Wstaw do instrukcji

Czy mogę potwierdzić, czy jako nazwę kolumny mam używać "Logiczny", czy jest to zastrzeżone słowo kluczowe?

Z góry dziękuję.

+0

Logiczne jest w porządku, jego wartość wkładka, że ​​należy patrzeć. – Takarii

+0

Zmień nazwę atrybutu i zobacz, czy błąd zniknie. – nicomp

+0

Cześć wszystkim, dziękuję za odpowiedź. Nie mogę zmienić bazy danych i nazwy tabeli. Jest to predefiniowane. Uprzejmie Potwierdź, czy istnieje jakakolwiek możliwa opcja. Z góry dziękuję. – user2095503

Odpowiedz

0

Nie ma problemu z nazwą pola, wystarczy wpisać nazwę kolumny INSERT w nawiasach kwadratowych. Musisz także wybrać poprawną wartość w klauzuli VALUES:

INSERT INTO Data_CustomerTransmit_Tbl ([Logical]) 
VALUES (TRUE); 

Jeśli chcesz zostać poproszony o wartości do wstawienia, można użyć parametru:

PARAMETERS [Please enter a Boolean value] YesNo; 
INSERT INTO Data_CustomerTransmit_Tbl ([Logical]) 
VALUES ([Please enter a Boolean value]); 
0

Przypuszczam próbujesz zrobić to wstawić za pomocą VBA? Jeśli tak, twoja składnia w budowaniu instrukcji SQL jest poprawna, ale brakuje ci jakiejś interpunkcji: podwójnych cudzysłowów na każdym końcu.

"INSERT INTO Data_CustomerTransmit_Tbl (Logical) VALUES (" & Logicalnme & ")" 

Ponadto, jak już podzielić ciąg na dwie linie (łamanie przed wartościami), należy również zakończyć pierwszą linię łańcucha z: „" & _”(spacja, cudzysłów, przestrzeni, . ampersand, przestrzeń, podkreślenia) w celu wskazania, że ​​ciąg przechodzi do następnej linii Wtedy zaczynają następną linię z podwójnych cudzysłowach:

"INSERT INTO Data_CustomerTransmit_Tbl (Logical) " & _ 
    "VALUES (" & Logicalnme & ")" 
0

w VBA kod powinien wyglądać tak:

0

Zapytanie SQL, do którego nawiązywałeś - czy próbowałeś wykonać go ręcznie w edytorze zapytań przy użyciu tych samych wartości, które próbujesz przekazać z programu Excel? Zapewniłoby to natychmiastową informację zwrotną, gdyby wystąpił problem z zapytaniem lub danymi.

Jeśli chodzi o pole typu Boolean, upewnij się, że otrzymujesz wartość True/False, której oczekujesz, a nie pole bitowe, 0 i 1. Lubię tworzyć szybkie wpisy dziennika w tabeli lub pliku podczas rozwiązywania problemów, aby zobaczyć surowe dane.

0

Zastosowanie CBool ​​funkcja:

Insert Into Data_CustomerTransmit_Tbl (Logical) 
Values (" & Cbool(Logicalnme) & ") 
Powiązane problemy