C# Własne funkcje w Accesie

C# Własne funkcje w Accesie
JO
  • Rejestracja:około 14 lat
  • Ostatnio:prawie 13 lat
  • Postów:4
0

Witam.
Chciałbym pobrać dane z bazy dane za pomocą polecenia:
SELECT * FROM TABLELA1 WHERE StrToHex(ARG1)=StrToHex(ARG2)
Dane chciałbym zapisać do obiektu DataSet.
StrToHex() to moja własna funkcja napisana w Accesie, znajduje się w module M1
W samym Accesie ta kwerenda działa. Pokazuje mi poprawne dane. Jednak jeśli chcę wybrać sobie dane w c# za pomocą OleDbCommand to aplikacja się sypie i wyświetla się: Nie zdefiniowana funkcja 'StrToHex' w wyrażeniu.

Azarien
  • Rejestracja:ponad 21 lat
  • Ostatnio:około 7 godzin
0

skoro StrToHex(ARG1) ma być równe StrToHex(ARG2) to chyba możemy założyć, że ARG1 będzie równe ARG2?

JO
  • Rejestracja:około 14 lat
  • Ostatnio:prawie 13 lat
  • Postów:4
0
Azarien napisał(a)

skoro StrToHex(ARG1) ma być równe StrToHex(ARG2) to chyba możemy założyć, że ARG1 będzie równe ARG2?

Właśnie wg Accesa niekoniecznie. Przy porównaniu nie jest uwzględniana wielkość liter.
Przykładowa kwerenda: SELECT * FROM TABELA1 WHERE ARGUMENT1 = 'Xy'
Pokaże mi wiersze w, których ARGUMENT1 wynosi Xy, XY, xy
Chyba, że w samym Accesie są jakieś opcje porównywania. Albo wbudowane funkcje do porównywania tekstów.
Do tej pory radziłem sobie stosując StrToHex, ale kiedy chcę przejść z kwerend w Accesie na proste aplikacje w C# to przestaje to działać.
Udało mi się to obejść pobierając wszystko i operując na obiektach DataSet ale wolałbym od razu pobrać potrzebne dane.

massther
  • Rejestracja:ponad 16 lat
  • Ostatnio:prawie 9 lat
1

I jak byś na początku napisał jaki jest cel, a nie tak od d... strony :)
http://support.microsoft.com/kb/244693

JO
  • Rejestracja:około 14 lat
  • Ostatnio:prawie 13 lat
  • Postów:4
0
massther napisał(a)

I jak byś na początku napisał jaki jest cel, a nie tak od d... strony :)
http://support.microsoft.com/kb/244693

Dzięki.
Rozwiązuje to ten konkretny problem.
Tylko co z sytuacją kiedy własnej funkcji nie da się zastąpić niczym wbudowanym. Czy c# umożliwia przesłanie do Accesa w jakiś sposób zapytań z własnymi funkcjami.
Może da się określić funkcje w zapytaniu jako zewnętrzną , tak żeby c# nie musiał jej znać.

Marcin.Miga
  • Rejestracja:prawie 17 lat
  • Ostatnio:około 21 godzin
  • Postów:2792
1

Nie. Bo ty nie korzystasz z Accessa, tylko z JET-SQL-a, a on o istnieniu VBA nic nie wie.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.