Προς το περιεχόμενο

Πρόβλημα σε Vb6 με inputbox και ελληνικά


stamos

Προτεινόμενες αναρτήσεις

Δημοσ.

Έχω κάνει μια βάση δεδομένων με στοιχεία των πελατών μου σε access 2007 και έκανα ένα πρόγραμμα μέσω της visual basic 6. Ως εδώ όλα καλά. Θέλησα να βάλω ένα Inputbox ώστε να κάνω εύρεση μιας εγγραφής αλλά μόλις τρέχω το inputbox αντί για ελληνικά γράφει κινέζικα. Ως τώρα το πρόγραμμα δεν είχε πρόβλημα με τα ελληνικά (ούτε όταν τα εμφανίζει,προσθέτει μια εγγραφή ουτε στην εύρεση όταν την κάνω σε text box).

 

Μπόρει κάποιος πιο ειδικός να μου δώσει τα φώτα του γιατί συμβαίνει αυτό??

 

Ευχαριστώ πολύ προκαταβολικά

Δημοσ.

Όπου και να χρειάζεται να εμφανίσει ελληνικά το κάνει χωρίς κανένα πρόβλημα. Μόνο στο inputbox έχω πρόβλημα. Στην form μου χρησιμοποιώ textbox τα οποία εμφανίζουν δεδομένα μέσα απο την Βάση Δεδομένων καθώς και msgbox όλα στα ελληνικά,επαναλαμβάνω χωρίς κανενα πρόβλημα.

 

Ξέχασα να αναφέρω για λειτουργικό έχω windows xp με service pack 3(Αν παίζει κάποιο ρόλο).

Δημοσ.

Σου παραθέτω τον κώδικα ntaryl παρόλο που δεν νομίζω να σε βοηθήσει στην προκειμένη περίπτωση.

Ελπίζω να έχεις μια λύση γιατί δεν μπορώ ούτε να φανταστώ το τι φταίει.

 

code

 

Private Sub cmdsearch_Click()

dim strsearch as string

strsearch =inputbox("Δώσε όνομα", "Εύρεση")

If strsearch <> "" Then

 

 

If Not rs.EOF Then

DataLoad

 

 

ElseIf rs.BOF = True Then

MsgBox "Το μέλος δεν βρέθηκε στην Βάση δεδομένων"

End If

txtname.SetFocus

 

 

 

Else

MsgBox "Δώστε όνομα μέλους για αναζήτηση"

txtsearch.SetFocus

End If

 

/code

Δημοσ.

Το strsearch δεν το χρησιμοποιείς μέσα στο strsql, αλλά το txtsearch που δέν ξερουμε τι τιμή έχει.

strsql = "select * from DATA where FULLNAME=" & Chr(34) & Trim(strsearch) & Chr(34)

 

Και γενικά μήν αφήνεις το cn ανοιχτό απο πρίν αλλά όταν είναι να το περάσεις σε ένα κουμπί να δημιιουργείς νέο και να το κλείνεις όταν τελειώσει ο κώδικας στο κουμπί.

 

Edit:

Πρίν έβλεπα αυτό:

>Private Sub cmdsearch_Click()
Dim strsearch As String
strsearch = InputBox("Δώσε όνομα", "Εύρεση")
strsql = "select * from DATA where FULLNAME=" & Chr(34) & Trim(txtsearch.Text) & Chr(34)

Set rs = New ADODB.recordSet
   If Trim(txtsearch.Text) <> "" Then
       rs.Open (strsql), cn, adOpenDynamic, adLockOptimistic
       If Not rs.EOF Then
           DataLoad
       ElseIf rs.BOF = True Then
           MsgBox "Το μέλος δεν βρέθηκε στην Βάση δεδομένων"
       End If
   txtsearch.SetFocus
Else
   MsgBox "Δώστε όνομα μέλους για αναζήτηση"
   txtsearch.SetFocus
End If

τώρα αυτό:

>Private Sub cmdsearch_Click()
dim strsearch as string
strsearch =inputbox("Δώσε όνομα", "Εύρεση")
If strsearch <> "" Then

If Not rs.EOF Then
DataLoad

ElseIf rs.BOF = True Then
MsgBox "Το μέλος δεν βρέθηκε στην Βάση δεδομένων"
End If
txtname.SetFocus

Else
MsgBox "Δώστε όνομα μέλους για αναζήτηση"
txtsearch.SetFocus
End If

Δημοσ.

Έχεις απολύτο δίκιο.Απλώς το απόγευμα δοκίμαζα να δω αν βγάζει το ίδιο πρόβλημα αν για εύρεση χρησιμοποιούσα ένα textbox.

To δεύτερο είναι το κανονικό.κατα το copy paste πέρασα το test που σου είπα.

Συγνώμη για το μπέρδεμα.

Θα το δοκιμάσω αυτό που είπες

 

Ευχαριστώ πολύ για το χρόνο σου.

 

 

-----Προστέθηκε 12/2/2009 στις 08 : 02 : 09-----

Δημοσ.

καλησπερα

το προβλημα σου βρισκεται στο οτι δεν αναγνωριζει unicode.

Δοκιμασες να το τρεξεις σε αλλο μηχανημα ?Αν ειναι εφικτο κανε ενα

compile το παραδειγμα και ανεβασε το αλλα μαζι και ολο τον κωδικα .ετσι ωστε να μπορουμε να το τεσταρουμε και να βρουμε λυση

Ελπιζω δηλαδη .

 

Υ.γ Δεν εχω εμπειρια με βασεις αλλα θα προσπαθησω

τα λεμε

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...