Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
| Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
#1
| |||
| |||
error
Καλημέρα σε όλους Στην παρακάτω Function μου εμφανίζει (Μη έγκυρη δήλωση SQL) όποια βοήθεια δεκτή γιατί έχω κόλληση. [CODE'' -- Επιστρέφει τα χιλιοστά του διαμερίσματος που επιλέγεται αναλόγως της σχετικής δαπάνης Function Calculate_exp_part(app_id As Integer, exp_type As Integer) As Double Dim rs As New ADODB.Recordset Dim cn As ADODB.Connection Dim cm_mm As String, el_mm As String Dim fx_mm As String, sp_mm As String, h_mm As String Dim con_e As String Dim node As Variant Dim diam, i As Integer diam = DLookup("arithmoos_diam", "tbl_heating_system") node = DLookup("dapani_anel", "tbl_heating_system") Set cn = CurrentProject.Connection cm_mm = "SELECT tbl_appartments.common_mm FROM tbl_appartments where id=CInt('" & app_id & "');" If node = "Εξ' ίσου" Then el_mm = 1 / diam Else el_mm = "SELECT tbl_appartments.elevator_mm FROM tbl_appartments where id=CInt('" & app_id & "');" End If h_mm = "SELECT tbl_appartments.e FROM tbl_appartments where id=CInt('" & app_id & "');" fx_mm = "SELECT tbl_appartments.fixed_mm FROM tbl_appartments where id=CInt('" & app_id & "');" sp_mm = "SELECT tbl_appartments.special_mm FROM tbl_appartments where id=CInt('" & app_id & "');" con_e = "SELECT tbl_appartments.con_e FROM tbl_appartments where id=CInt('" & app_id & "');" If exp_type = 1 Then rs.Open cm_mm, cn, adOpenKeyset, adLockOptimistic ElseIf exp_type = 2 Then rs.Open el_mm, cn, adOpenKeyset, adLockOptimistic ElseIf exp_type = 3 Then rs.Open h_mm, cn, adOpenKeyset, adLockOptimistic ElseIf exp_type = 4 Then rs.Open fx_mm, cn, adOpenKeyset, adLockOptimistic ElseIf exp_type = 5 Then rs.Open sp_mm, cn, adOpenKeyset, adLockOptimistic ElseIf exp_type = 6 Then rs.Open con_e, cn, adOpenKeyset, adLockOptimistic ElseIf exp_type = 7 Then rs.Open fx_mm, cn, adOpenKeyset, adLockOptimistic End If If rs.RecordCount = 0 Then Calculate_exp_part = 0 Else Calculate_exp_part = Round(Nz(rs.Fields(0)), 4) End If End Function][/CODE] Τελευταία επεξεργασία από το χρήστη anestaki : 13-09-15 στις 22:29. |
#2
| |||
| |||
Καλησπέρα Γιώργο, μάλλον πρέπει να αλλάξεις τις προτάσεις με μορφή: cm_mm = "SELECT tbl_appartments.common_mm FROM tbl_appartments where id=CInt('" & app_id & "');" με προτάσεις της μορφής: cm_mm = "SELECT tbl_appartments.common_mm FROM tbl_appartments where id=" & app_id Φιλικά/Γιώργος |
#3
| |||
| |||
Καλησπέρα Γιώργο Έχω εντοπίσει το πρόβλημα στο ερώτημα: Κώδικας: If node = "Εξ' ίσου" Then el_mm = 1 / diam Else el_mm = "SELECT tbl_appartments.elevator_mm FROM tbl_appartments where id=" & app_id End If Κώδικας: ElseIf exp_type = 2 Then rs.Open el_mm, cn, adOpenKeyset, adLockOptimistic |
#4
| |||
| |||
Γιώργο, δεν ξέρω τι ακριβώς κάνει ο κώδικας. Αν το 1/diam είναι η τιμή της συνάρτησης, δοκίμασε: If node = "Εξ' ίσου" Then Calculate_exp_part= 1 / diam Exit function Else el_mm = "SELECT tbl_appartments.elevator_mm FROM tbl_appartments where id=" & app_id End If Επίσης θα πρέπει να μη είναι μηδενική η μεταβλητή diam . |
#5
| |||
| |||
Γιώργο σε ευχάριστο πολύ λειτουργεί άψογα με την προσθήκη: Κώδικας: ElseIf exp_type = 2 Then If node = "Εξ' ίσου" Then Calculate_exp_part = 1 / diam Exit Function Else rs.Open el_mm, cn, adOpenKeyset, adLockOptimistic End If |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
Παρόμοια Θέματα | ||||
Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
Error | anestaki | Access - Ερωτήσεις / Απαντήσεις | 2 | 26-11-15 17:59 |
error msg | γιώργοςΚ | Access - Ερωτήσεις / Απαντήσεις | 0 | 27-05-14 10:58 |
[VBA] Compile Error | jockey17 | Excel - Ερωτήσεις / Απαντήσεις | 1 | 13-05-14 20:45 |
[VBA] Error 2147417848 | anestaki | Excel - Ερωτήσεις / Απαντήσεις | 1 | 11-02-14 23:07 |
error msg | γιώργοςΚ | Access - Ερωτήσεις / Απαντήσεις | 0 | 12-12-13 14:52 |
Η ώρα είναι 21:38.