Forum

Forum (https://www.ms-office.gr/forum/)
-   Access - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/)
-   -   Dynamic Messages (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/5677-dynamic-messages.html)

γιώργοςΚ 24-10-20 14:29

Dynamic Messages
 
Καλησπερα σε όλους,

Θα ήθελα την βοήθεια σας ώς προς το εξής:

Εχω τον πίνακα tblMessages ο οποίος περιλαμβάνει τα πεδία:
[Msg_id]: Autonumber (Primary Key)
[GR_Title] : Καταχωρώ τον τίτλο του μηνύματος στα ελληνικά
[EN_Title]: O τίτλος του ιδίου μηνήματος στα αγγλικα
[GR_Body] Καταχωρώ το κείμενο του μηνύματος που θέλω να εμφανίζεται στα ελληνικά
[EN_Body] Το κείμενο στα αγγλικά

Βρήκα τρόπο να καλω το μήνυμα που επιθυμώ και θέτω ενα παράδειγμα πιο κάτω, αλλά θα ήθελα να εμφανίζεται κατα επιλογή δικιά μου με βάση ένα πεδίο που υπάρχει στην φόρμα Forms!MainForm.Language. Αν δηλαδή στο πεδίο στην φόρμα έχω Forms!MainForm.Language=1 τότε θέλω να εμφανίζονται πιο πάνω πεδία που περιλαμβάνουν το ελληνικό κείμενο, τϊτλο κλπ. Αν έχω Forms!MainForm.Language=2 τοτε να εμφανίζονται τα αντίστοιχα ελληνικά.

Ο κωδικας ο οποίος σημειωτέο αποτελεί βοήθεια των παιδιών του forum απο παλαιότερες αναρτήσεις

Option Compare Database
Option Explicit
Dim msgtext, qsql As String
Dim rsMsg As Recordset
Dim i As Integer
Dim style
Dim Response As Integer
__________________________________________________ __________________________________________
Public Function imessage(MsgID As Integer) As Long
Dim Buttons As Long
Dim Title As String
Dim Prompt As String
Dim qsql As String

Dim rsMsg As DAO.Recordset
qsql = "SELECT MsgID, Msg_Title, Msg_Body, Msg_sub, Msg_Buttons FROM Messages WHERE Messages.MsgID = " & MsgID
Debug.Print qsql
Set rsMsg = CurrentDb.OpenRecordset(qsql)
Buttons = rsMsg!Msg_Buttons
Title = rsMsg!Msg_Title & ""
Prompt = rsMsg!Msg_Body & ""
imessage = MsgBox(Prompt, Buttons, Title)
End Function

__________________________________________________ ________________________________________________

Private Sub cmdmsg1_Click()
imessage (1)
End Sub

γιώργοςΚ 24-10-20 20:01

Φίλοι μου επανερχομαι για να ενημερώσω ότι έχω βρεί την άκρη στο πρόβλημα και παραθέτω πιο κάτω την μετατροπή στον κώδικα που έκανα που τελικά ήταν πολύ απλή.

Public Function imessage(MsgID As Integer) As Long
Dim Buttons As Long
Dim Title As String
Dim Prompt As String
Dim qsql As String

Dim rsMsg As DAO.Recordset

If Forms!MainForm.PrefLanguage = 1 Then

qsql = "SELECT MsgID, Msg_Title, Msg_Body, Msg_sub, Msg_Buttons FROM Messages WHERE Messages.MsgID = " & MsgID
Debug.Print qsql
Set rsMsg = CurrentDb.OpenRecordset(qsql)
Buttons = rsMsg!Msg_Buttons
Title = rsMsg!Msg_Title & ""
Prompt = rsMsg!Msg_Body & ""
imessage = MsgBox(Prompt, Buttons, Title)


ElseIf Forms!MainForm.PrefLanguage = 2 Then

qsql = "SELECT MsgID, Title_EN, Body_EN, Msg_sub, Msg_Buttons FROM Messages WHERE Messages.MsgID = " & MsgID
Debug.Print qsql
Set rsMsg = CurrentDb.OpenRecordset(qsql)
Buttons = rsMsg!Msg_Buttons
Title = rsMsg!Title_EN & ""
Prompt = rsMsg!Body_EN & ""
imessage = MsgBox(Prompt, Buttons, Title)

End If

End Function


Η ώρα είναι 02:11.

Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.


Search Engine Optimization by vBSEO 3.3.2