Tu error es muy simple.
Código:
a=principal.pantalla_login.tbx_usuario1.get()
AttributeError: 'function' object has no attribute 'tbx_usuario'
pantalla_login
es una función y no veo porque debería el atributo
tbx_usuario
.
Ademas veo que no estas usando clases apropiadamente, tienes dependencias con variables globales, hardcodeas credenciales de acceso en código fuente, etc..
Algo mas o menos así debería de funcionar.
Código Python:
Ver originalfrom tkinter import *
import pypyodbc
root=Tk()
root.resizable(0,0)
root.geometry('600x300+500+300')
class Principal():
def valida_acceso(self):
connection_string ='Driver={SQL Server Native Client 11.0};Server=150.150.1.2;Database=Sh;Uid=sp;Pwd=sp;'
connection = pypyodbc.connect(connection_string)
SQL = "SELECT * FROM Usuarios WHERE Usuario=?"
cur = connection.cursor()
a = self.tbx_usuario.get()
cur.execute(SQL,a)
row= cur.fetchone()
if row:
print (row[0], row[1])
connection.commit()
cur.close()
connection.close()
def pantalla_login(self):
lab_usuario = Label(root, text="Usuario: ", font=("Helvetica", 14,
'bold'),bg='red').grid(row=3, column=1, sticky=W)
self.tbx_usuario = Entry(root, text="Usuario", textvariable=StringVar(), font=
("Helvetica", 14),fg='blue').grid(row=3,
column=2, sticky=W)
Button(root, text="Accesar".format(1),font=("Helvetica", 14,'bold'),
command=self.valida_acceso).grid(row=6,column=2,sticky=E)
root.mainloop()
principal = Principal()
principal.pantalla_login()